Quiero ver un archivo que se sobrescribe cada 5 minutos con less. ¿Cómo puedo hacer que lesssiga 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 -fla página de manual de. Pero, sin embargo, he aclarado mi pregunta.less --follow-namever unix.stackexchange.com/a/74287/112522Respuestas:
Puede obtener este efecto emitiendo el
Fcomando (Shift+F) mientras visualiza el archivoless. Para dejar de seguir y volver a la paginación, presioneCtrl+CDado que su archivo solo cambia cada 5 minutos, también puede usar
tail -fy especificar un tiempo de suspensión más prolongado con-s(predeterminado a 1 segundo). Por ejemplo,comprueba la
myfilesalida 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
lesscada 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,rmel 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.
vimno está compilado con laclientserverfunción en.inoifywaitdejará 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
lessexperiencia más parecida, puede usar laslessmacros para obtener suslessasociaciones 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 -faún leería el anterior.