Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

3 réponses
Avatar
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.

3 réponses

Avatar
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.
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

Avatar
Jacques L'helgoualc'h
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


Avatar
rty
$ 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