Sed : supprimer des lignes identiques

Résolu
Bulot56 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
Bulot56 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je cherche à supprimer des lignes commençant par les 3 mêmes mots. Je voudrais garder juste la dernière.

Par exemple :
tata titi toto nimportekoi
tata titi toto autrechose

Devient :
tata titi toto autrechose

J'imagine que sed est mon ami mais là ça me dépasse !

Merci.


A voir également:

3 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
awk est notre ami
$ awk '{t[$1, $2, $3]=$0} END {for(n in t)print t[n]}' fichier
tata titi toto autrechose
$ 
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
Salut,

Et pourquoi pas avec les outils faits pour, comme sort par exemple ?

$ cat brol
tata titi toto nimportekoi
tata titi toto autrechose 

$ sort brol | sort -u -t ' ' -k1,1 -k2,2 -k3,3
tata titi toto autrechose 

0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
Si tu tiens à le faire avec "sed", voilà un exemple :

sed 'N;s/^\([^ ]*\)\([^ ]*\)\([^ ]*\).*\n\1\2\3\(.*\)/\1\2\3\4/' brol

Mais bon, "awk" est largement plus adapté ;-)
0
Bulot56 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup !

Version awk adoptée (non sed je n'y tiens pas plus que ça ...)!
0