tag puddletag picard para musicbrainz mp3tag kid3 easytag linux unix split screen tail

linux - puddletag - Cómo visualizar continuamente un archivo de sus últimas varias líneas de contenido.



musicbrainz picard debian (6)

Estoy tratando de encontrar un comando de Unix (combinación, tal vez) sobre cómo mostrar continuamente un archivo de sus últimas líneas de contenido. Pero durante esta visualización, quiero que algunas de las líneas superiores siempre se muestren en la parte superior de la pantalla cuando el contenido rodante llegue a la parte superior de la pantalla.

¿Es eso posible?

(1) Supongamos que tengo el archivo "job.sta", las primeras 2 líneas son: nombre del trabajo, trabajo de John en 2013-enero-30, ... Tab1, Tab2, Tab3 0, 1, 2, 1, 90, 89 2, 89, 23 ...

(2) Este archivo está en funcionamiento, su contenido está creciendo y no sé qué línea va a terminar.

(3) Así que quiero mostrar (siempre) las primeras 2 líneas cuando se usa el comando tail, cuando el contenido de la actualización llega a la parte superior de la pantalla de un shell de Unix. Estoy usando PuTTY en este momento.

Referencia: http://www.unix.com/unix-dummies-questions-answers/172000-head-tail-how-display-middle-lines.html


Esto se actualizará cada 2 segundos en lugar de cada vez que se escriban datos en el archivo, pero tal vez sea adecuado:

watch ''head -n 2 job.sta; tail job.sta''


Intenta la siguiente combinación cola -f nombre de archivo | cabeza -2


Puedes usar la screen para simular el comportamiento esperado:

  1. Ejecutar screen , presiona espacio .

  2. Presiona Ctrl + a seguido de S para dividir la pantalla.

  3. Cambia el tamaño de la ventana superior presionando Ctrl + a seguido de :resize 4 .

  4. En el indicador en la ventana superior, ingrese el head -n2 file .

  5. Vaya a la ventana inferior presionando Ctrl + a seguido de Tab .

  6. Inicie una nueva sesión de pantalla presionando Ctrl + a seguido de c .

  7. En el nuevo mensaje, ingrese el tail -f file .


Usted quiere el programa de multitail , que no solo hace lo que está en pantalla dividida sino que también lo hará la codificación por colores.

http://www.vanheusden.com/multitail/


Utilizo esta función todo el tiempo para monitorear un archivo de registro en otra ventana de terminal.

tail -f <filename>

Recomiendo dar un paso adelante para buscar un texto en particular en el registro. Estupendo si solo está interesado en ver que alguna entrada particular se escriba en el archivo.

tail -f <filename> | grep <keyword or pattern>


Yo uso este script para lograr el efecto que describe

!#/bin/bash while [ 1 ]; do ls -lt data | head -n 30; sleep 3; echo -en "$(tput cuu 30; tput ed)"; done

Esto ejecuta un comando en un bucle y elimina las últimas líneas de la salida de la pantalla antes de cada iteración.

En tu caso se vería algo así como

!#/bin/bash while [ 1 ] ;# loop forever do head -n 2 job.sta ;# display first 2 lines tail -n 30 job.sta ;# display last 30 lines from file sleep 3 ;# wait a bit echo -en "$(tput cuu 32; tput ed)" ;# delete last 32 lines from screen done

Por supuesto, es un poco feo antes de que su archivo alcance las 30 líneas.

Espero que ayude