GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So fügen Sie jeder Zeile einer kontinuierlich geschriebenen Protokolldatei eine Datumszeichenfolge hinzu

Mit Perl:

command 2>&1 | perl -pe 'print scalar(localtime()), " ";'

Mit gawk:

command 2>&1 | awk '{ print strftime(), $0; fflush() }'

Ersetzen Sie command mit tail -f logfile für dein konkretes Beispiel. Oder vielleicht könnten Sie einfach stdout/stderr des ursprünglichen Programms auf die obige Pipe umleiten.


Versuchen Sie es

tail -f logfile | while read line; do echo `date` "$line" ; done

Sie können dies versuchen

cat /etc/motd | xargs -d"\n" -I {} date +"%Y-%m-%d %H:%M:%S {}"

Beispielausgabe:

2013-02-26 15:13:57 
2013-02-26 15:13:57 The programs included with the Debian GNU/Linux system are free software;
2013-02-26 15:13:57 the exact distribution terms for each program are described in the
2013-02-26 15:13:57 individual files in /usr/share/doc/*/copyright.
2013-02-26 15:13:57 
2013-02-26 15:13:57 Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
2013-02-26 15:13:57 permitted by applicable law.

Linux
  1. So fügen Sie einer Datei in Linux Header- und Trailer-Zeile hinzu

  2. Wie teilt man eine Datei und behält die erste Zeile in jedem der Teile bei?

  3. Wie füge ich in Bash nach jeder Zeile in einer Datei eine Zeichenfolge hinzu?

  4. Bash:Zeichenfolge ohne Zeilenumbruch am Ende der Datei hinzufügen

  5. So erhalten Sie die ersten n Zeichen jeder Zeile in einer Unix-Datendatei

So lesen Sie eine Datei Zeile für Zeile in Bash

Wie ersetze ich eine Zeichenfolge in einer oder mehreren Dateien?

So fügen Sie eine Auslagerungsdatei unter Ubuntu 20.04 hinzu

So fügen Sie jeder Zeile einer kontinuierlich geschriebenen Protokolldatei eine Datumszeichenfolge hinzu

Wie kann ich dem Anfang jeder Zeile in einer Datei eine Zeichenfolge voranstellen?

ersetzt das n-te Vorkommen von String in jeder Zeile einer Textdatei