Esto no es realmente tail
el comportamiento de -- es la terminal. Tail simplemente está enviando un flujo de salida a stdout, que va a tu terminal, y estás insertando líneas en blanco en el medio de esa salida presionando enter. Tail en sí no está aceptando tu entrada en absoluto. Puedes escribir lo que quieras y eso también aparecerá.
less
, sin embargo, es una aplicación de consola y toma entradas y las procesa. Está administrando la consola usando secuencias de control de terminal, que es cómo puede desplazarse. Permitirle insertar caracteres arbitrarios en la secuencia estropearía la pantalla y, de todos modos, usaría menos su entrada para controlar el programa.
Desafortunadamente, no parece tener una forma de marcar visualmente la posición actual. Sin embargo, esa no es una solicitud de función terrible, y menos lo hace Todavía obtengo nuevas características de vez en cuando.
Encontré tu pregunta mientras buscaba la misma respuesta para mí.
Decepcionado por la respuesta aceptada, se me ocurrió una solución. Es menos que ideal, pero me permite marcar mi posición en el registro que sigo con less
, que es el punto.
Creé un pequeño script ejecutable (lo llamé marklog
) con el siguiente contenido, y ponerlo en mi camino:
#!/bin/sh
echo >> $1
echo >> $1
echo >> $1
echo `date` ---------------------------------------------------------------------- >> $1
echo >> $1
echo >> $1
Por supuesto, esto solo funciona si tiene acceso de escritura al archivo de registro, lo que podría ser un factor decisivo en muchas situaciones. También creé esta versión que uso para escribir en archivos de registro que no me pertenecen (pero a los que tengo acceso sudo):
#!/bin/sh
sudo sh -c "echo >> $1"
sudo sh -c "echo >> $1"
sudo sh -c "echo >> $1"
sudo sh -c "echo `date` ------------------------------------------------------------------------- >> $1"
sudo sh -c "echo >> $1"
sudo sh -c "echo >> $1"
Estos guiones proporcionan justo el tipo de descanso visual que estaba buscando. Hay al menos 3 formas de usarlos:
-
En el punto en el que normalmente presionaría Intro varias veces al usar
tail -f
, en su lugar ejecutamarklog
desde otro terminal (proporcionando la ruta al archivo de registro como argumento). -
Utilice Ctrl Z suspender
less
para que pueda ejecutar el script en la misma ventana de terminal, pero cuando vuelve a poner en primer planoless
(usandofg
, por supuesto), ya no estará en modo 'seguir', por lo que deberá presionar Shift F de nuevo... -
Por último, y esta podría ser la forma más conveniente, porque no necesita escribir la ruta al archivo de registro:Ejecute
marklog
directamente desdeless
escribiendo!marklog %
.Less
sustituirá el nombre de archivo actual por%
. Sin embargo,less
no responderá al ! mientras está en modo 'seguir', tendrá que pulsar Ctrl C primero para salir del modo de seguimiento, ejecute!marklog %
, luego Mayús F de nuevo.
Con el método 3, también obtienes la ventaja añadida del historial de comandos de Less:simplemente presiona el !
y luego use la flecha hacia arriba para seleccionar el comando más reciente (para mí, siempre es marklog
).
Espero que esto ayude a alguien tanto como ya me ayudó a mí.