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.