GNU/Linux >> Tutoriels Linux >  >> Linux

Comment supprimer les mots en double d'un fichier texte brut à l'aide de la commande linux

En supposant que les mots sont un par ligne et que le fichier est déjà trié :

uniq filename

Si le fichier n'est pas trié :

sort filename | uniq

S'ils ne sont pas un par ligne et que cela ne vous dérange pas qu'ils soient un par ligne :

tr -s [:space:] \\n < filename | sort | uniq

Cela ne supprime pas la ponctuation, alors peut-être que vous voulez :

tr -s [:space:][:punct:] \\n < filename | sort | uniq

Mais cela supprime le trait d'union des mots avec trait d'union. "man tr" pour plus d'options.


ruby -pi.bak -e '$_.split(",").uniq.join(",")' filename ?

J'admets que les deux types de citations sont moches.


Linux
  1. Comment écrire du texte sur une image à l'aide de la commande Linux

  2. Comment supprimer les lignes en double dans un fichier texte ?

  3. Comment diviser un iso ou un fichier à l'aide de la commande 'split' sous Linux

  4. Comment créer des fichiers fragmentés sous Linux à l'aide de la commande "dd"

  5. Comment supprimer les retours à la ligne d'un fichier texte ?

Comment verrouiller un fichier texte sous Linux à l'aide de la commande flock

Comment imprimer des lignes dupliquées dans un fichier texte sous Linux

Comment supprimer une commande de l'historique sous Linux

Comment supprimer des lignes d'un fichier à l'aide de la commande Sed

Comment supprimer les caractères (^M) d'un fichier sous Linux

Comment supprimer les espaces des noms de fichiers sous Linux