Was ist GREP in Linux und wie wird es verwendet?
Grep ist ein kleines Unix-Programm zum Suchen nach übereinstimmenden Mustern. Ursprünglich als Unix-Programm gedacht, ist es sowohl unter Linux als auch unter Mac und BSD zu finden. Es kann praktisch jeden Text lesen, d. h. es kann Eingaben von anderen Befehlen lesen oder Dateien direkt öffnen und durchsuchen. Grep ist unglaublich nützlich, insbesondere zum Durchsuchen von Verzeichnissen von der Befehlszeile aus.
Probieren Sie doch einmal eine der häufigsten Verwendungsmöglichkeiten von Grep aus: das Suchen einer Datei in einem Verzeichnis. Durchsuchen Sie Ihren Ordner „~/Downloads“ nach JPG-Bildern.
ls ~/Downloads | grep .jpgGrep listet sie alle auf und hebt den Teil „.jpg“ hervor, da dies das ist, wonach Sie gesucht haben.
Sie leiten die Ausgabe (mit dem Befehl „|“) praktisch jedes Befehls an grep weiter. Wenn Sie eine reine Textdatei herumliegen haben, geben Sie sie aus und leiten Sie das Ergebnis an Grep weiter, um ein bestimmtes Wort zu finden.
Grep druckt alle Zeilen der Datei aus, die das von Ihnen angegebene Wort enthalten.
[enlazatom_show_links]Vergiss den Fall
Unix-ähnliche Systeme unterscheiden zwischen Groß- und Kleinschreibung. Das bedeutet, dass „Ubuntu“ etwas völlig anderes ist als „ubuntu“. Das kann bei der Suche nach etwas lästig sein. Grep hat ein Flag, um das Problem zu beheben. Fügen Sie Ihrer Suche das Flag -i hinzu, und Grep ignoriert die Groß- und Kleinschreibung.
ls ~/Downloads | grep -i UbuntuSuche in einer Datei
Es wäre nicht besonders praktisch, jedes Mal cat zu benötigen, wenn Sie eine Datei suchen möchten. Tatsächlich ist das auch nicht der Fall. Grep kann Dateien selbst durchsuchen. Übergeben Sie ihm den Pfad zur Datei und Grep erledigt den Rest.
grep -i word /Pfad/zur/Datei.txtRekursive Suche
Grep kann mehrere Dateien oder Verzeichnisse gleichzeitig durchsuchen. Aber Vorsicht: Wenn Sie nach Dateinamen suchen, durchsucht Grep standardmäßig auch alle Dateien. Das Flag -r weist Grep an, rekursiv zu suchen.
ls ~/Downloads | grep -r .debSie können dies auch mit anderen Flags kombinieren. Möglicherweise möchten Sie das Flag -I bei rekursiven Suchen einschließen, um zu verhindern, dass Grep Binärdateien durchsucht.
ls ~/Downloads | grep -iIr .debFinden Sie das Gegenteil
Sie können Grep auch anweisen, nach allem zu suchen nicht enthält das angegebene Muster. Dies ist in Fällen nützlich, in denen Sie einen Fehler finden müssen oder ein Verzeichnis mit vielen Dateien eines oder zweier Typen haben.
grep -rv '192.168.1.110' /etc/nginxWörter und Zeilen
Es könnte auch nützlich sein, Grep anzuweisen, nach vollständigen Wörtern oder Zeilen zu suchen, statt nach allem, was ein bestimmtes Muster enthält. Stellen Sie sich vor, Sie suchen nach einer Zeichenfolge, die häufig als Teil eines Wortes vorkommt, aber getrennt sein muss. Zum Beispiel das Wort „es“. Natürlich würde es nicht viele Fälle geben, in denen Sie Genau genommen möchte nach einem Muster wie „es“ suchen, aber es beweist den Punkt.
cat textfile.txt | grep -w esAnstatt jedes Wort auszudrucken, das das Muster enthält, druckt Grep nur das Wort allein aus. Mit dem Flag -x macht es dasselbe für ganze Zeilen. Wenn Sie also nach einer Phrase oder einer einzelnen Zeile in einer Konfigurationsdatei suchen, kann das wirklich hilfreich sein.
Wenn Sie daran interessiert sind, zu untersuchen alles Was Grep kann, erfahren Sie in der vollständigen Dokumentation, indem Sie „man grep“ in einem Terminal ausführen. Dieser Artikel behandelt die Grundlagen und alles, was Sie normalerweise von diesem leistungsstarken Tool benötigen. Teilen Sie es uns mit, wenn Sie leistungsstarke Verwendungsmöglichkeiten des Grep-Befehls kennen.
Schreibe einen Kommentar