Shell : supprimer toutes occurences sauf une

Résolu
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

1 réponse

  1. Modérateur
    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
    1. Merci cela fonctionne parfaitement !
      Maintenant je vais googler un peu pour comprendre ta réponse :-)
      0
    2. Je viens de découvrir les branchements avec sed :-)
      Merci!
      0