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

Hoe kan ik unieke resultaten uit grep uitvoer filteren?

In linux, kan ik een string uit een bestand grep'en met grep mySearchString myFile.txt. Hoe kan ik alleen het resultaat krijgen dat uniek is?

Antwoorden (2)

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

U kunt dit bereiken met de hulpprogramma’s sort en uniq .

voorbeeld:

[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

afhankelijk van de gegevens wil je misschien ook enkele van de schakelaars gebruiken.

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

U kunt gebruiken:

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

-r: recursief

-o: alleen overeenstemmend deel van de tekst afdrukken

-h: geen bestandsnamen afdrukken

-P: Perl style regex (je kunt in plaats daarvan -E gebruiken, afhankelijk van je geval)

sort -u is beter dan sort | uniq, zoals @Chris Johnsen al aangaf.