sed (GNU sed version 4.1.4 sous dos) action à la 3ème occurence non-suc cesive d'un caractère

Le
rty
bonjour,
je cherche à faire un saut de ligne à la 3ème occurence non-successive
du caractère ;
pourriez vous m'aider juste pour l'occurence non-successive?
j'ai cru l'apercevoir dans les nombreuses faq/doc que j'ai consulté mais
là je ne le trouve plus.
cordialement.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
rty
Le #744823
bonjour,
je cherche à faire un saut de ligne à la 3ème occurence non-successive
du caractère ;
pourriez vous m'aider juste pour l'occurence non-successive?
j'ai cru l'apercevoir dans les nombreuses faq/doc que j'ai consulté mais
là je ne le trouve plus.
cordialement.
bon j'ai trouvé

sed 's/;/;n/3'
mais il s'arrête à la première fois de la troisième occurence
et
sed ':a;s/;/;n/3;ta'
boucle sans fin...
une idée?
cordialement

Jacques L'helgoualc'h
Le #744507
Le 28-02-2007, a écrit :
bonjour,



bonjour,

je cherche à faire un saut de ligne à la 3ème occurence non-successive
du caractère ;
pourriez vous m'aider juste pour l'occurence non-successive?
j'ai cru l'apercevoir dans les nombreuses faq/doc que j'ai consulté mais
là je ne le trouve plus.
cordialement.
bon j'ai trouvé

sed 's/;/;n/3'
mais il s'arrête à la première fois de la troisième occurence
et
sed ':a;s/;/;n/3;ta'
boucle sans fin...
une idée?


$ echo 'a;b;cc;aa;bbbb;ccc;aa;bb
1111;22;333;44;555;666;' | sed -rn 'bB;:A;P;D;:B;s/;/;n/3;tA;p'
a;b;cc;
aa;bbbb;ccc;
aa;bb
1111;22;333;
44;555;666;

On peut remplacer le « p » final par « /./p » pour supprimer les lignes vides.
--
Jacques L'helgoualc'h


rty
Le #744506
$ echo 'a;b;cc;aa;bbbb;ccc;aa;bb
1111;22;333;44;555;666;' | sed -rn 'bB;:A;P;D;:B;s/;/;n/3;tA;p'
a;b;cc;
aa;bbbb;ccc;
aa;bb
1111;22;333;
44;555;666;

On peut remplacer le « p » final par « /./p » pour supprimer les lignes vides.
merci beaucoup, ça fonctionne sur le sed dos.

je fonce dans la doc pour essayer de piger:)
cordialement

Publicité
Poster une réponse
Anonyme