Ich habe eine sehr große Protokolldatei (6 Gig).
Ich möchte nach 'Nov 12 2012' suchen und jede Zeile ausdrucken.
Ich bin ein Linux-Neuling und habe keine Ahnung, wie das gemacht wird. Meistens wird eine weitere Option erforderlich sein, um die X-Zeilenanzahl anzuzeigen und durch die Suche vorwärts zu gehen.
grep --after-context=5 --before-context=10 'Nov 12 2012' yourfile.log
Dies zeigt jede Zeile mit Ihrem Datumstext sowie 10 Textzeilen VOR der übereinstimmenden Zeile und 5 Zeilen NACH der übereinstimmenden Zeile.
Sie können grep
verwenden, um übereinstimmende Zeilen und less
als Pager anzuzeigen:
grep 'Nov 12 2012' /path/to/logfile | less
Geben Sie am Ende jeder Seite "Leertaste" ein, um zum nächsten Ergebnisbildschirm zu gelangen.
Sie können grep
wie folgt verwenden:
grep 'Nov 12 2012' file_to_search.log > search_results.log
Einige Erklärungen:
grep
ist der Name des Befehls/Tools, mit dem nach Mustern gesucht wird'Nov 12 2012'
: Direkt nach grep
und durch mindestens 1 Leerzeichen getrennt, geben Sie das Muster an, nach dem Sie suchen möchtenfile_to_search.log
: Als letztes Argument für grep
geben Sie hier die Datei (en) an, nach denen Sie suchen möchten> search_results.log
: Der >
bedeutet Ausgabe Umleitung . Hier bedeutet dies "Schreiben Sie die Ausgabe von diesem Befehl in eine Datei mit dem Namen search_results.log
. Wenn die Datei bereits vorhanden ist, überschreiben Sie sie vollständig. Nach dem Abrufen der Ausgabe können Sie die Ergebnisse mit einem Texteditor Ihrer Wahl oder mit less
anzeigen. Verwenden Sie daher eine der folgenden Möglichkeiten:
less search_results.log
gedit search_results.log
emacs search_results.log
vim search_results.log
Öffnen Sie die Datei in einem Skriptformat und suchen Sie dann mit dem Schlüsselwort, das Sie suchen möchten, wie folgt.
$vi <logfilename>
&
:/search
Dies ist ein guter Weg, um Fehler in großen Protokolldateien zu finden: grep --after-context = 5 - before-context = 10 'Error' yourfile.log oder grep --after-context = 5 - before-context = 10 "Ausnahme" yourfile.log
grep -A 5 -B 10 '12. November 2012' yourfile.log
- A n für n Zeile NACH und -B n für n Zeilen Vorher . Oder für beide zusammen - C n d.