2010-02-21 02:41:41 +0000 2010-02-21 02:41:41 +0000
79
79
Advertisement

Comment puis-je filtrer les résultats uniques de la production de grep ?

Advertisement

Sous linux, je peux greffer 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 ?

Advertisement

Réponses (2)

132
132
132
2010-02-21 02:52:47 +0000

Vous pouvez y parvenir avec les services publics sort et uniq .

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 également utiliser certains des commutateurs.

3
3
3
2019-08-22 21:13:48 +0000

Vous pouvez utiliser :

grep -rohP "(mySearchString)" . | sort -u

-r : récursif

-o : n'imprimer qu'une partie du texte correspondant

-h : ne pas imprimer les noms de fichiers

-P : style Perl regex (vous pouvez utiliser -E à la place selon votre cas)

sort -u est meilleur que sort | uniq, comme l'a souligné @Chris Johnsen.

Advertisement