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.
