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


Dans linux, je peux grep une chaîne à partir d’un fichier en utilisant grep mySearchString myFile.txt. Comment puis-je seulement obtenir le résultat qui est unique?


71
2018-02-21 02:41


origine




Réponses:


Vous pouvez y parvenir avec le sort et uniq utilitaires.

Exemple:

[john @ awesome ~]
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 commutateurs.


116
2018-02-21 02:52



@John T - Je recommanderais d'utiliser sort avant uniq au cas où les données ne seraient pas commandées. Autrement uniq ne fonctionnera pas complètement. - Studer
@Studer a oublié ce détail, merci! - John T
Je peux maintenant voter! Vous m'avez également aidé à écrire d'autres scripts ici;) - Studer
Utilisation sort -u au lieu de sort | uniq. Il enregistre un processus, réduit les E / S totales et réduit le nombre total de comparaisons à effectuer. - Chris Johnsen
@ChrisJohnsen Vous devriez faire de ce commentaire une réponse car c'est une meilleure solution que la réponse actuelle donnée - Nico Van Belle