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

Wie kann ich eindeutige Ergebnisse aus der grep-Ausgabe herausfiltern?

Unter Linux kann ich mit grep mySearchString myFile.txt einen String aus einer Datei grepen. Wie kann ich nur die Ergebnisse erhalten, die eindeutig sind?

Antworten (2)

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

Sie können dies mit den Hilfsmitteln sort und uniq erreichen.

Beispiel:

[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

Je nach Daten können Sie auch einige der Schalter verwenden.

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

Sie können verwenden:

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

-r: rekursiv

-o: nur den passenden Teil des Textes ausgeben

-h: keine Dateinamen ausgeben

-P: Regex im Perl-Stil (Sie können stattdessen -E verwenden, je nach Fall)

sort -u ist besser als sort | uniq, wie @Chris Johnsen bemerkte.