2012-10-08 9 views
8

Estoy usando tail -f para imprimir el contenido de un archivo que cambia continuamente. Cuando se trunca el archivo que aparece así:borrar la pantalla cuando el archivo se trunca mientras se usa `tail -f`

blah (old).. 
blah more (old).. 
tail: file.out: file truncated 
blah.. 
blah more.. 

Esto puede causar problemas cuando cambio el archivo con demasiada frecuencia para que sea difícil ver dónde comienza el archivo/extremos. ¿Hay algún modo de que clear de alguna manera la pantalla cuando el archivo se trunca para que se muestre así?

tail: file.out: file truncated 
blah.. 
blah more.. 
+0

¿por qué cerrar los votos? – none

Respuesta

9

Se puede usar un sola línea perl para filtrar la salida de tail -f

por ejemplo

tail -f myfile.txt 2>&1 | perl -ne 'if (/file truncated/) {system 'clear'; print} else {print}' 
+0

funciona muy bien, gracias .. – none

+0

Es bueno escuchar :-) – Benj

1

miarchivo.txt tailf

este es el comando tailf en lugar de tail-f

con este comando no hay ningún archivo truncado devueltos en la pantalla

+0

esto no limpia el contenido anterior de la pantalla como yo quería. De todos modos, la respuesta de Benj está funcionando, gracias .. – none

+0

disculpe mi mal vi el claro inicialmente y luego, mientras investigaba, olvidé por completo el típico error de fin de día :) me alegro de tenerlo funcionando como se requiere – Vahid

12

Sé que esto es viejo , pero otra solución (potencialmente más simple) es:

watch -n 1 cat myfile.txt

+0

+1, esto es de hecho lo que He estado usando estos días. No recuerdo de donde saqué esto, sin embargo .. – none

Cuestiones relacionadas