So erstellen Sie Logdateien, die neue Einträge am Anfang statt am Ende hinzufügen. Das Tool sed hilft.
Traditionell sind Logdateien aller Art chronologisch aufgebaut. Der neueste Eintrag findet sich immer am Ende der Datei. Nützlich ist das, um die Datei mit dem Befehl „tail Dateiname“ im Terminal anzuzeigen. Bei Logdateien, die in Texteditoren, im Webbrowser und in einer Tabellenkalkulation angesehen oder weiterverarbeitet werden, ist aber eine umgekehrt chronologische Reihenfolge besser.
Linux-Troubleshooting:
Fehlermeldungen auslesen
Während eine unkomplizierte Umleitung in der Kommandozeile wie
date >> beispiel.log
die Ausgabe eines Befehls an das Ende der angegebenen Datei anhängt, ist das Einfügen am Anfang der Datei etwas aufwendiger. Es gibt mehrere Möglichkeiten, aber einer der einfachsten Wege führt über den Zeileneditor sed:
sed -i "1i An den Anfang" beispiel.log
Dieses Kommando fügt den Text „An den Anfang“ als erste Zeile in der Logdatei „beispiel.log“ ein. Es handelt sich bei dem vorangestellten Parameter „1i“ um eine Eins und nicht um den Kleinbuchstaben „l“. Soll auf diese Weise die Ausgabe einer Variable oder eines Befehls protokolliert werden, dann hilft diese Notation:
sed -i "1i $(date)" beispiel.log
Der Befehl „date“ liefert hier als Beispiel das aktuelle Datum mit Uhrzeit. Zu beachten ist, dass die Ausgabedatei immer schon existieren muss, da sed keine neue Datei anlegt.