GNU/Linux >> Tutoriales Linux >  >> Linux

Recuperar registros de las últimas 100 líneas

Mira, el script sed que imprime las 100 últimas líneas lo puedes encontrar en la documentación de sed (https://www.gnu.org/software/sed/manual/sed.html#tail):

$ cat sed.cmd
1! {; H; g; }
1,100 !s/[^\n]*\n//
$p

$ sed -nf sed.cmd logfilename

Para mí es mucho más difícil que tu guión, así que

tail -n 100 logfilename

es mucho mucho más simple. Y es bastante eficiente, no leerá todos los archivos si no es necesario. Ver mi respuesta con el informe strace para tail ./huge-file :https://unix.stackexchange.com/questions/102905/does-tail-read-the-whole-file/102910#102910


Simplemente puede usar el siguiente comando:-

cola -NUMBER_OF_LINES FILE_NAME

por ejemplo, tail -100 test.log

  • obtendrá las últimas 100 líneas de test.log

En caso de que desee la salida de lo anterior en un archivo separado, puede canalizarse de la siguiente manera:-

cola -NUMBER_OF_LINES FILE_NAME> OUTPUT_FILE_NAME

por ejemplo, tail -100 test.log > output.log

  • obtendrá las últimas 100 líneas de test.log y las almacenará en un nuevo archivo output.log)

Puede usar el comando de cola de la siguiente manera:

tail -100 <log file>   > newLogfile

Ahora las últimas 100 líneas estarán presentes en newLogfile

EDITAR:

Las versiones más recientes de tail como lo menciona twalberg usan el comando:

tail -n 100 <log file>   > newLogfile

"tail" es un comando para mostrar la última parte de un archivo, el uso de los interruptores disponibles adecuados nos ayuda a obtener resultados más específicos. el modificador más utilizado para mí es -n y -f

SINOPSIS

cola [-F | -f | -r] [-q] [-b número | -c número | -n número] [archivo ...]

Aquí

-n número :La ubicación son líneas numéricas.

-f :La opción -f hace que la cola no se detenga cuando se alcanza el final del archivo, sino que espera a que se agreguen datos adicionales a la entrada. La opción -f se ignora si la entrada estándar es una tubería, pero no si es FIFO.

Recuperar registros de las últimas 100 líneas

To get last static 100 lines  
     tail -n 100 <file path>

To get real time last 100 lines
     tail -f -n 100 <file path>

Linux
  1. Cómo usar el comando tail para ver registros en tiempo real

  2. ¿Cómo eliminar las primeras/últimas líneas 'n' de la salida del comando en Shell?

  3. ¿Número de líneas emitidas por Ls?

  4. ¿Terminando cola -f después de imprimir N líneas?

  5. Imprima un archivo, omitiendo las primeras líneas X, en Bash

Grep y cola -f?

¿Contar líneas en un archivo?

3 formas de ver registros en tiempo real en Linux

Elimine eficientemente las dos últimas líneas de un archivo de texto extremadamente grande

¿Cómo truncar el archivo por líneas?

Cola de color de los registros de Apache