GNU/Linux >> LINUX-Kenntnisse >  >> Linux

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

Dies erreichen Sie mit dem sort und uniq Dienstprogramme.

Beispiel:

[[email protected] ~]$ echo -e "test\ntest\ntest\nanother test\ntest"
test
test
test
another test
test
[[email protected] ~]$ echo -e "test\ntest\ntest\nanother test\ntest" | sort | uniq
another test
test

Abhängig von den Daten möchten Sie möglicherweise auch einige der Schalter verwenden.


Sie können Folgendes verwenden:

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

-r:rekursiv

-o:nur passenden Teil des Textes ausgeben

-h:Dateinamen nicht drucken

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

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


Linux
  1. Wie man mit der Farbausgabe umgeht

  2. Wie begrenze ich die Anzahl der von grep zurückgegebenen Ergebnisse?

  3. Wie kann ich eine Funktion von einem Skript in der Befehlszeile ausführen?

  4. Wie kann ich eindeutige Werte aus einem Array in Bash erhalten?

  5. Wie kann ich ein Verzeichnis vom Befehl ls ausschließen

Wie kann ich ls nach Besitzer und Gruppe sortieren?

Wie kann ich herausfinden, ob mein Server über eine Art IPMI verfügt?

Wie sortiere ich die Ergebnisse des ls-Befehls nach Änderungsdatum (Verzeichnisse zuerst)?

Wie sortiere ich die Ergebnisse von Find Statement nach Datum?

So sortieren Sie diese Ausgabe 1,10,11..2

So grep ps-Ausgabe mit Headern