Quelle commande sed / awk puis-je utiliser? sort -u
Supprime simplement toutes les instances
Contribution:
abc
abc
def
abc
abc
def
Production attendue:
abc
def
abc
def
la source
Quelle commande sed / awk puis-je utiliser? sort -u
Supprime simplement toutes les instances
Contribution:
abc
abc
def
abc
abc
def
Production attendue:
abc
def
abc
def
C'est à cela que uniq
sert la commande standard.
uniq your-file
Notez que certaines uniq
implémentations comme GNU uniq
vous donneront le premier d'une séquence de lignes qui trient les mêmes (où strcoll()
retourne 0) au lieu d' être identiques octet à octet (où memcmp()
ou strcmp()
retourne 0). Pour forcer une comparaison octet à octet quelle que soit l' uniq
implémentation, vous pouvez forcer les paramètres régionaux à C
avec:
LC_ALL=C uniq your-file
Vim peut très bien y parvenir:
:g/\v^(.*\n)\1/d
Ou si vous préférez utiliser vim comme outil de ligne de commande, vous pouvez le faire comme
vim file -c "g/\v^(.*\n)\1/d" -c "wq"
De cette façon, vous n'avez pas à vous battre pour quitter vim plus tard;)
Explication:
:g/
Sur toutes les lignes qui correspondent à cette expression régulière ...
\v^(.*\n)\1
Toute ligne suivie par elle-même ...
/d
exécutez la commande d elete (supprimez la ligne actuelle). La -c "wq"
consiste à enregistrer les modifications et à quitter.