Ich habe eine Anwendung, die bei jeder Ausführung neue Protokolldateien generiert. Sie gehen alle in einen Ordner, mit Dateinamen wie diesem, und das nächste Protokoll wird nicht gestartet, bis das aktuelle fertig ist.
Log-20140122102407.txt
Log-20140122102739.txt
Log-20140122103640.txt
Log-20140122162121.txt
Log-20140122163145.txt
Ich möchte den aktuellen Fortschritt in einem Terminalfenster wie überwachen, tail -f
aber das funktioniert nicht mit mehreren Dateien. Ich habe von Multitail gehört, weiß aber nicht, wie man es benutzt, und ich möchte nicht, dass mein Terminalfenster in mehrere Abschnitte aufgeteilt wird.
tail
kann mehrere Dateien tailen . Donovan Brays Artikel erklärt mehr, tail: kann mehrere Dateien gleichzeitig tailen, wer hätte das gedacht? und andere Schwanztricks.
Um mehrere Dateien zu verfolgen, übergeben Sie ein Dateimuster:
tail -f Log-*
Sie können Multitail bitten , die Ausgabe mehrerer Dateien zu kombinieren. Die Beispielseite enthält nützliche Ansätze und Tricks.
Dieser Befehl kombiniert und fügt zwei Protokolle hinzu:
multitail /var/log/apache/access.log -I /var/log/apache/error.log
Wenn Sie Protokolle in einem Ordner verfolgen müssen, einschließlich der aktiv erstellten, verwenden Sie das -q
Flag:
multitail -q 'test*'
Dadurch werden alle Dateien, die dem Muster entsprechen, mit einem Tail versehen test*
, einschließlich derer, die nach der Ausgabe des Befehls angezeigt werden. Danke an @folkert-van-heusden für diesen Vorschlag und die Codekorrektur.
Wenn Sie Homebrew installiert haben, können Sie es multitail
mit dem Befehl Terminal.app installieren:
brew install multitail
Siehe auch:
Elliot
Graham Mill
Folkert van Heusden
Folkert van Heusden
Folkert van Heusden