Réponses:
Vous pouvez y parvenir avec les utilitaires sort
et uniq
.
exemple:
[john @ awesome ~] $ echo -e "test \ ntest \ ntest \ nanother test \ ntest" tester tester tester un autre test tester [john @ awesome ~] $ echo -e "test \ ntest \ ntest \ nanother test \ ntest" | trier | uniq un autre test tester
En fonction des données, vous pouvez également utiliser certains des commutateurs.
sort -u
au lieu de sort | uniq
. Il enregistre un processus, réduit le nombre total d'E / S et le nombre total de comparaisons à effectuer.
Vous pouvez utiliser:
grep -rohP "(mySearchString)" . | sort -u
-r: récursif
-o: n'imprime qu'une partie du texte correspondant
-h: ne pas imprimer les noms de fichiers
-P: regex de style Perl (vous pouvez utiliser -E à la place selon votre cas)
sort -u
est mieux que sort | uniq
, comme l'a souligné @Chris Johnsen.
sort
avantuniq
si les données ne sont pas commandées. Sinonuniq
, ça ne marchera pas complètement.