Sous linux, je peux grep une chaîne de caractères à partir d'un fichier en utilisant grep mySearchString myFile.txt
. Comment puis-je obtenir uniquement les résultats qui sont uniques ?
Réponses
Trop de publicités?Vous pouvez y parvenir avec l'option sort
y uniq
des services publics.
exemple :
\[john@awesome ~\]$ echo -e "test\\ntest\\ntest\\nanother test\\ntest"
test
test
test
another test
test
\[john@awesome ~\]$ echo -e "test\\ntest\\ntest\\nanother test\\ntest" | sort | uniq
another test
test
Selon les données, vous pouvez aussi utiliser certains des commutateurs.
Pato
Points
251
Vous pouvez utiliser :
grep -rohP "(mySearchString)" . | sort -u
-r : récursif
-o : n'imprime que la partie correspondante du texte
-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 meilleur que sort | uniq
comme l'a souligné @Chris Johnsen.