| Qui est en ligne ? |
| Il y a : 14 utilisateurs en ligne, consultez le détail |
Forum » Serveur, Réseaux et Programmation » SED récupérer texte dans un intervalle |
Forum modéré par : jblecanard |
| Même auteur |
|
Score ( voter ) : |
|
| Page : [1] |
| Auteur | Message |
|---|---|
|
|
#0 Message posté le : 12-05-2008 à 16:00:47 |
Scarabée Forum : Inscrit Association : Arrivé(e) le : 13-07-2005 Nombre de messages : 206 |
Bonjour @ tous ! Bon le titre ne reflète pas réellement ma question puisque je sais que la commande : sed -n '/balise1/;/balise2/{//d;p;}' fichier.txtpermet d'obtenir l'intervalle compris entre les balises "balise 1" et "balise 2" exclues. Seulement je ne sais pas comment arrêter la recherche à la première occurrence de "balise 2" ... Quelqu'un peut me filer un coup de pouce ? --Message édité par zephyroth le 12-05-2008 à 16:01:12-- |
|
|
#1 Message posté le : 23-05-2008 à 15:15:31 |
Scarabée Forum : Inscrit Association : Arrivé(e) le : 13-07-2005 Nombre de messages : 206 |
Bon je relance car je n'ai toujours pas trouvé ... |
|
|
#2 Message posté le : 23-05-2008 à 19:05:49 |
Naboo Forum : Modérateur Association : Président Arrivé(e) le : 09-04-2006 Nombre de messages : 2032 |
Avec sed uniquement, je n'ai pas vu de possibilité. Après je suis loin d'être un expert sed... Mais j'aurais peut-être une idée : récupérer les numéros de lignes avant d'utiliser sed. Essaye ça pour récupérer les numéros de ligne :
cat -n "$f" | grep XXX | head -1 | awk '{print $1}' - cat -n : on ajoute les numéros de lignes ; - grep XXX : on récupère les lignes contenant XXX ; - head -1 : on se limite à la première ligne ; - awk '{print $1}' : on sélectionne le numéro de la ligne Maintenant, ça donne :
numeroPremiereOccurence() { cat -n "$1" | grep "$2" | head -1 | awk '{print $1}' } f=fichier.txt sed -n "/`numeroPremiereOccurence "$f" "balise1"`/;/`numeroPremiereOccurence "$f" "balse2"`/{//d;p;}" "$f" --Message édité par Azollyx le 23-05-2008 à 19:06:01-- ------------------------------------- La force vaincra ! :D |
| Page : [1] |
Forum » Serveur, Réseaux et Programmation » SED récupérer texte dans un intervalle |
Forum modéré par : jblecanard |
| Même auteur |
|
Score ( voter ) : |
|
- Petit scarabée : 0 pastille, moins de 100 messages
- Scarabée : 0 pastille, plus de 100 messages
- Hobbit : 1 pastille, plus de 1000 messages
- Naboo : 2 pastilles, plus de 2000 messages
- Elfe : 3 pastilles, plus de 3000 messages
- Jedi : 4 pastilles, plus de 4000 messages
- Maître Jedi : 5 pastilles, plus de 5000 messages