Wie kann ich unter Linux mit dem Befehl tailf
mehrere Protokolldateien, die sich in einem Ordner und in den Unterordnern befinden, mit einem Tail versehen?
Um alle Dateien in einem Ordner zu protokollieren, können Sie in den Ordner gehen und schreiben
tailf *.log
Verwenden Sie, um die Unterordner zum Befehl tailf hinzuzufügen
tailf **/*.log
Anstelle von tailf
können Sie auch tail -f
. Natürlich kann der reguläre Ausdruck verbessert werden, um nur bestimmten Dateinamen zu entsprechen.
Dadurch werden alle * .log-Dateien im aktuellen Verzeichnis und seinen Unterordnern rekursiv gesucht und mit einem Tail versehen.
find . -type f \( -name "*.log" \) -exec tail -f "$file" {} +
Wenn nicht alle Protokolldateien dieselbe Erweiterung haben. Sie können folgenden Befehl verwenden.
tail -f **/*
Auf diese Weise werden Dateien rekursiv gesucht, Zeilen beginnend mit Zeile 5 in jeder Datei gedruckt und in der Datei concat.txt gespeichert
find . -type f \( -name "*.dat" \) -exec tail -n+5 -q "$file" {} + |tee concat.txt