Intenté seguir dos archivos usando la opción:
tail -0f file1.log -0f file2.log
En Linux veo un error "cola: solo puede procesar un archivo a la vez".
En AIX veo el error como "Opciones no válidas".
Esto funciona bien cuando uso:
tail -f file1 -f file 2
en Linux pero no en AIX.
Quiero poder seguir varios archivos usando -0f
o -f
en AIX / Linux
multitail
no se reconoce en ninguno de estos sistemas operativos.
screen
para crear dos sesiones diferentes? ¿Deberías poder usar la cola en ambas pantallas? Además,tmux
puede hacer el trabajo también si lo tiene instalado.Respuestas:
Qué pasa:
O prefijando cada línea con el nombre del archivo:
Para seguir todos los archivos cuyo nombre coincide con un patrón, puede implementar el
tail -f
(que se lee del archivo cada segundo de forma continua) con unzsh
script como:Luego, por ejemplo, para seguir todos los archivos de texto en el directorio actual de forma recursiva:
fuente
sed
camino sobre el&
camino?tail
la versión de GNU tail amplía varios archivos. Con AIX, no tiene cola GNU, por lo que no puede hacerlo. Puedes usarmultitail
en su lugar.Puede instalar multitail en Linux y AIX.
Con AIX, puede descargar el paquete aquí .
En Linux, a
multitail
menudo está en repositorio, por lo que puede instalarlo fácilmente usando el administrador de paquetes de distribución:apt-get install multitail
yum install multitail
fuente
multitail -i path/to/file1 -i path/to/file2
Lo siguiente funciona bien para generar cosas en std out
Quería
pipe
la salida a otro proceso. En el caso anterior&
estaba haciendo la parte antes de que se ejecutara en segundo plano y solo la segunda parte estaba siendopiped
procesadaentonces solía
@ Stéphane su respuesta es perfecta, pero solo menciono mi caso de uso que tiene un pequeño giro.
fuente
tail -f file1 file2
no funciona en AIX donde tail solo acepta un nombre de archivo. Puede hacer(tail -f file1 & tail -f file2) | process
para redirigir la salida estándar de ambostail
s a la tuberíaprocess
.En OSX y Linux, usando
funciona muy bien para mi Otra cosa buena es que tiene el siguiente resultado:
para ayudarlo a reconocer qué salida es de qué registro.
fuente
q
para suprimir los encabezadosProporcionaré un fragmento de código
tmux
que puede darle dos ventanas diferentes que puede usar para ajustar ambos archivos simultáneamente:ACTUALIZACIÓN: El uso
screen
también puede adjuntar / desconectar varias sesiones para que pueda ejecutartail
varias veces también. Puedo sugerir hacer esto:screen -s Tail_Server1.log
A continuación, querrá mantener
CTRL+A+D
para desconectar sin matar las sesiones y luego siguiente:Ambos funcionarán dos por separado
screens
, me referiría parascreen --help
que pueda ajustarlo a cómo desea que ambas pantallas funcionen en suterminal
.fuente
Los siguientes trabajos para mí en SunOS 5.10.
Ambas colas se ejecutarán en segundo plano. Los cambios en los archivos se lanzarán a stdout. Además, puede ejecutar cualquier comando intermedio simplemente presionando enter.
fuente
Use el siguiente oneliner:
while true; do cat /path/to/numerous/folders/and/files/*/*.txt | grep "some filter" | tail -n 10; sleep 1; done
Cada 1 segundo, el script imprimirá 10 últimas líneas de la secuencia filtrada.
Para romper el bucle, presione CtrlC.
fuente