¿Hay alguna forma de emitir tail -Fo emitir un lesspitido (hacer sonar el timbre en una terminal) cuando entran nuevos datos (se agrega una nueva línea al archivo). ¿O hay alguna otra utilidad de Unix para hacer esto en Linux o Mac?
23

sedidea es brillante, pero no sé lo suficiente 'sed' para que funcione, parece que no puedo capturar nuevas líneas en la expresión regular de la manera habitual (que estoy acostumbrado), creo que necesito decirle a sed no interprete el flujo entrante línea por línea.sed -e $'s/$/\a/'agrega un$'\a'(carácter de campana en la sintaxis ksh / bash / zsh) al final de cada línea.sedregexpt es un poco extraño para mis ojos ingenuos.$'...'sintaxis no es universal. Por ejemplo, [t] csh no lo admite.si usa GNU
screen, puede configurarlo para que "mire" la ventana con la cola, y lo alertará en su barra de estado, o por la campana definida de su termcap, que hay una nueva salida en esa ventana.http://www.gnu.org/software/screen/manual/html%5Fnode/Monitor.html#Monitor
editar: solo tuve que agregar esto, ya que mencionaste mac os x
solo por diversión, si estabas buscando algo en particular, puedes usar el
saycomando de Mac OS X para leer el archivo que estás viendo. solo obtenga ellogtailcomando, de:http://www.hmug.org/pub/MacOS_X/BSD/Administration/Log/logcheck/
Y úsalo en un script como:
fuente
screenmuestra y alerta (supongo que también puedo hacer que suene la campana) SOLO UNA VEZ. No por cada nuevo evento que sucede (no por cada nueva línea que está disponible)beepcomando, en lugar desay.execcomando de pantalla para hacerlo también. El ejemplo en la página de manual es el!:sed -n s/.*Error.*/\007/pque enviará una campana cada vez que se muestre "Error" en esa ventana.Podrías usar multitail . Es una cola mejorada que admite la ejecución de comandos en la coincidencia de expresiones regulares.
Por ejemplo, el siguiente comando reproduce un sonido y abre una ventana xmessage cada vez que se registra un paquete fuente marciano .
fuente
Solo para el registro, como @Nils sugirió que estoy usando
sedpara agregar unbella cada línea.La
sedlínea proporcionada por @Gillesfunciona en mi mac (habilité "timbre audible" y "timbre visual" en mi Terminal \ preferencias \ avanzado).
fuente
$'...'secuencias de escape son una cosa solo de Bash.Para cualquier otra persona que encuentre esta página, estoy usando tcsh y esto parece funcionar:
No me preguntes qué significa la sintaxis sed ...
fuente
Puede probar
konsolecuál permite la alerta sobre nueva actividad (o silencio) en cualquier pestaña.fuente
konsoleque sería comoscreenalertar una vez, mientras que necesito recibir una alerta para cada nueva línea.