IT

Spaß auf der Kommandozeile für Anfänger: Heutiges Thema grep.

Was macht grep? grep sucht Zeichen im Output.

Output in der Konsole erzeugen

Für alle, die sich nicht so mit der Kommandozeile auskennen, es gibt mehrere Möglichkeiten sich Textdateien auf der Kommandozeile anzeigen zu lassen.

Ich denke, eine der bekanntesten ist cat:

cat test.txt

soll der Text am Bildschirm nicht nur vorbei scrollen, z.b. wie bei längeren Logs etc., gibt es noch more, um in der Ausgabe in der Konsole mit den Pfeiltasten hoch und runter zu scrollen. ( Mit q wieder aus dem Programm rausgehen)

more test.txt

Das Programm more, war einigen zu speicherintensiv, deswegen gibt’s auch das Programm less, was so ziemlich das Gleiche macht wie more, nur halt mit less:

less test.txt

Ja, wir Computerleute sind so clever und witzig. /s

Und nicht zu vergessen head and tail, dass einen zum Beispiel nur die ersten/letzten 100 Einträge einer Datei gibt (mit -n steuerbar):

head -n 20 test.txt
tail -n 5 test.txt

Gehört hier nicht wirklich rein, aber tail -f datei.log ist sehr nützlich zur Überwachung von Prozessen oder Entwicklung von Code, da jede Zeile die Neu in die Datei geschrieben wird, in Echtzeit im Terminal angezeigt wird, in dem tail -f datei.log läuft. All diese Verfahren haben eins gemeinsam mit pipe „|“ grep string kann in dem Output gesucht werden. Ich hab jahrelang mit:

cat datei.txt | grep maumau

gesucht, bis ich gelernt habe, dass dies nicht die beste Möglichkeit ist. grep kann das auch ohne cat. Außerdem hat es gleich ein paar Vorteile mehr.

grep -rn  maumau /home/Benutzer/Dateien/

Dieser Befehl sucht in allen Dateien im Ordner /home/Benutzer/Dateien recrusiv nach der Zeichenkette maumau. Das -n zeigt zusätzlich die Zeile an, in der die Zeichenkette gefunden worden ist.

Was praktisch ist, da mit:

nano -l datei.txt

Nano die Datei mit Zeilennummern öffnet und damit die Zeichenkette schnell gefunden werden kann.

Da gibt es noch mehr Spielereien, zum Beispiel kann grep auch eine bestimmte Anzahl Zeilen vor und nach dem Fund anzeigen. Gesteuert jeweils mit -A, -B und -C, sehr nützlich bei der Suche in Logs, ich empfehle für alle hier genannten Programme einen Blick in die jeweilige man Page.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert