GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo agregar una cadena de fecha a cada línea de un archivo de registro escrito continuamente

Con Perl:

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

Con bostezo:

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

Reemplazar command con tail -f logfile para su ejemplo específico. O tal vez podría redirigir el stdout/stderr del programa original a la tubería anterior.


Prueba

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

Puedes probar esto

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

Salida de ejemplo:

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. ¿Cómo analizar cada línea de un archivo de texto como un argumento para un comando?

  2. Cómo vaciar un archivo de registro en Linux

  3. Agregue una cadena de prefijo al comienzo de cada línea

  4. Bash:agregue una cadena al final del archivo sin salto de línea

  5. ¿Cómo puedo anteponer una cadena al comienzo de cada línea en un archivo?

Cómo leer un archivo línea por línea en Bash

Cómo agregar un archivo de intercambio en Ubuntu 20.04

¿Cómo puedo agregar una cadena al comienzo de cada archivo en una carpeta en bash?

Cómo agregar una cadena de fecha a cada línea de un archivo de registro escrito continuamente

reemplazar la enésima ocurrencia de cadena en cada línea de un archivo de texto

¿Cómo agregar una marca de tiempo al registro de script bash?