Shell : supprimer toutes occurences sauf une

Résolu/Fermé
toutmaispasaix - 6 juil. 2010 à 11:00
 toutmaispasaix - 6 juil. 2010 à 13:37
Bonjour,

Je souhaiterais supprimer toutes les occurences, sauf la première, d'un motif dans une ligne. Je voudrais le faire en shell et le plus générique (multi os/shell) possible.

Exemple :
Je pars de
toto tata titi toto tutu tete tyty toto
Et je veux
toto tata titi tutu tete tyty

Avec sed je sais supprimer la nème occurence, ou toutes les occurences mais je ne sais pas les supprimer toutes sauf une.

Merci d'avance
A voir également:

1 réponse

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
6 juil. 2010 à 11:34
Salut,

jp@MDK:~/tmpfs ssh$ cat plop
Je pars de
toto tata titi toto tutu tete tyty toto
Et je veux
toto tata titi tutu tete tyty

jp@MDK:~/tmpfs ssh$ sed ':z;s/toto//2;tz' plop
Je pars de
toto tata titi  tutu tete tyty
Et je veux
toto tata titi tutu tete tyty

jp@MDK:~/tmpfs ssh$

;-))
1
toutmaispasaix
6 juil. 2010 à 13:02
Merci cela fonctionne parfaitement !
Maintenant je vais googler un peu pour comprendre ta réponse :-)
0
toutmaispasaix
6 juil. 2010 à 13:37
Je viens de découvrir les branchements avec sed :-)
Merci!
0