Premiere occurence du résultat du sed

Fermé
paradox& Messages postés 20 Date d'inscription vendredi 15 février 2013 Statut Membre Dernière intervention 26 mars 2014 - 21 févr. 2013 à 10:30
paradox& Messages postés 20 Date d'inscription vendredi 15 février 2013 Statut Membre Dernière intervention 26 mars 2014 - 21 févr. 2013 à 15:27
Bonjour,
je veux récupérer une partie du fichier délimiter par var1 et var2
j ai lancé la commande suivante
sed -n "/$var/,/$var2/p" fichier
le resultat retourné c est une partie du fichier délimité par var1 et la dernière occurrence de
var2
cependant le resultat souhaité est la partie du fichier entre la premiere var1 et la premiere var2
merci d avance ;) ))
A voir également:

2 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
21 févr. 2013 à 10:38
Salut,

Je ne sais pas si j'ai bien interprété ta demande, mais il semblerait que tu veuilles exclure les 2 motifs de l'affichage, c'est bien ça ?

Si oui, cette syntaxe devrait le faire :

sed -n '/$var/,/$var2/{//d;p}' fichier 

0
paradox& Messages postés 20 Date d'inscription vendredi 15 février 2013 Statut Membre Dernière intervention 26 mars 2014
21 févr. 2013 à 10:48
slt merci pr ta réponse,
c est pas exclure les 2 motif mais au juste
je veux récupérer une partie entre ces 2 motifs
or le 2 eme motif a plusieurs occurrences et moi je veux intercepter la partie du fichier entre le premier motif et la première occurrence du 2em motif :)
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
21 févr. 2013 à 11:13
or le 2 eme motif a plusieurs occurrences
Sur la même ligne ?

Tu as un exemple CONCRET à nous montrer ?
0
paradox& Messages postés 20 Date d'inscription vendredi 15 février 2013 Statut Membre Dernière intervention 26 mars 2014
21 févr. 2013 à 12:22
par exemple
paradox&
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxXXXXXXXXXXXXXXXXXXX .... ZIPE31
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZIPE31 .............................ZIPE31....


moi je veux récupérer le code entre paradox1 et ZIPE31 ( la 1ere fois ou elle est apparue )
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
21 févr. 2013 à 13:07
Et il est où ton soucis ?
$ cat plop 
paradox&
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxXXXXXXXXXXXXXXXXXXX .... ZIPE31
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZIPE31 .............................ZIPE31....

$ sed -n '/paradox/,/ZIPE31/p' plop 
paradox&
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxXXXXXXXXXXXXXXXXXXX .... ZIPE31

$
Je n'ai que la 1ère occurrence là, non ?
0
paradox& Messages postés 20 Date d'inscription vendredi 15 février 2013 Statut Membre Dernière intervention 26 mars 2014
21 févr. 2013 à 15:14
le résultat retourné c est
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxXXXXXXXXXXXXXXXXXXX .... ZIPE31
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZIPE31 .............................ZIPE31..

!!!!
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
21 févr. 2013 à 15:19
Ben c'est que tu as un problème chez toi, la preuve dans mon précédent message seule la 1ère occurrence est retournée ;-\

Donc :
- Quel système ?
- Quel shell ?
- Quelle version de sed ?
- Quel format de fichiers ? Unix - Dos - Mac ?
0