Quiero ver un archivo que se sobrescribe cada 5 minutos con less
. ¿Cómo puedo hacer que less
siga el nuevo descriptor de archivo en lugar de mantener el antiguo visualizador? watch "cat file"
no lo hará porque el archivo es demasiado largo para caber en una ventana de terminal.
9
tail -f
la página de manual de. Pero, sin embargo, he aclarado mi pregunta.less --follow-name
ver unix.stackexchange.com/a/74287/112522Respuestas:
Puede obtener este efecto emitiendo el
F
comando (Shift+F
) mientras visualiza el archivoless
. Para dejar de seguir y volver a la paginación, presioneCtrl+C
Dado que su archivo solo cambia cada 5 minutos, también puede usar
tail -f
y especificar un tiempo de suspensión más prolongado con-s
(predeterminado a 1 segundo). Por ejemplo,comprueba la
myfile
salida cada 60 segundos.EDITAR: Debido a una pregunta engañosa, la respuesta anterior no fue satisfactoria. El segundo intento sigue:
Para volver a abrir el mismo archivo
less
cada 5 minutos, intente esto:Esto generará una subshell que procesa otro proceso de shell instruido para matar su proceso padre después de 5 minutos. Luego abre el archivo con
less
. Cuando el comando de shell en segundo plano mata al subshell primario, mata a todos sus hijos, incluido el comando "menos". Entonces el ciclo comienza el proceso nuevamente.La única manera fácil que conozco para matar esto es matar el terminal en el que se encuentra su shell original. Si eso es inaceptable, puede usar el truco "killfile":
Para dejar de hacerlo
stuff
,rm
el killfile en otro shell.fuente
watch -n 1 less <filename>
Puedes hacer algo similar en
vim
.Inicie una sesión de servidor de
vim
:Luego, en otra consola, monitoree las actualizaciones del archivo y dígale a la sesión de vim que vuelva a cargar el archivo tan pronto como se actualice:
Unas pocas trampas.
vim
no está compilado con laclientserver
función en.inoifywait
dejará de funcionar cuando el archivo se elimine. Así que espero que tu archivo se sobrescriba. Es posible solucionar eso también, por supuesto.Y si desea tener una
less
experiencia más parecida, puede usar lasless
macros para obtener susless
asociaciones de teclasvim
.fuente
Encontré un viejo, pero muy bueno "menos" como programa (un "localizador"). Tiene un comando "R" que actualiza el archivo.
Se llama "lv" . Puedes instalarlo en Ubuntu usando:
Sin embargo, parece no tener la función de autocarga.
fuente
Puede probar este comando: tail -f file
fuente
Tail es tu amigo. "tail -f filename" le mostrará nuevas líneas cuando aparezcan.
O si está buscando cambios realizados en el medio del archivo, ¿tal vez ejecute un script cada pocos minutos para hacer una copia del archivo en una ubicación temporal y hacer una diferencia en él?
fuente
tail -f
aún leería el anterior.