2398543

Linux-Logs: Texte immer am Anfang einfügen

06.02.2019 | 15:00 Uhr | David Wolski

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.

PC-WELT Marktplatz

2398543