Comando Tail en Linux con ejemplos

Es el complemento del comando de cabeza . El comando de cola, como su nombre lo indica, imprime el último número N de datos de la entrada dada. Por defecto imprime las últimas 10 líneas de los archivos especificados. Si se proporciona más de un nombre de archivo, los datos de cada archivo están precedidos por su nombre de archivo.

Sintaxis:

tail [OPTION]... [FILE]...

Consideremos dos archivos con el nombre state.txt y capital.txt que contienen todos los nombres de los estados y capitales de la India, respectivamente.

$cat state.txt
Andhra Pradesh
Arunachal Pradesh
Assam
Bihar
Chhattisgarh
Goa
Gujarat
Haryana
Himachal Pradesh
Jammu and Kashmir
Jharkhand
Karnataka
Kerala
Madhya Pradesh
Maharashtra
Manipur
Meghalaya
Mizoram
Nagaland
Odisha
Punjab
Rajasthan
Sikkim
Tamil Nadu
Telangana
Tripura
Uttar Pradesh
Uttarakhand
West Bengal

Sin ninguna opción, muestra solo las últimas 10 líneas del archivo especificado.
Ejemplo:

$tail state.txt
Odisha
Punjab
Rajasthan
Sikkim
Tamil Nadu
Telangana
Tripura
Uttar Pradesh
Uttarakhand
West Bengal

Opciones:

1. -n num: Imprime las últimas líneas ‘num’ en lugar de las últimas 10 líneas. Es obligatorio especificar num en el comando; de lo contrario, muestra un error. Este comando también se puede escribir sin simbolizar el carácter ‘n’, pero el signo ‘-‘ es obligatorio.

$tail -n 3 state.txt
Uttar Pradesh
Uttarakhand
West Bengal
       OR
$tail -3 state.txt
Uttar Pradesh
Uttarakhand
West Bengal

El comando de cola también viene con una opción ‘+’ que no está presente en el comando de cabeza. Con esta opción, el comando tail imprime los datos a partir del número de línea especificado del archivo en lugar del final. Para el comando: tail +n file_name , los datos comenzarán a imprimirse desde el número de línea ‘n’ hasta el final del archivo especificado.

$tail +25 state.txt
Telangana
Tripura
Uttar Pradesh
Uttarakhand
West Bengal

2. -c num: Imprime los últimos ‘num’ bytes del archivo especificado. El salto de línea cuenta como un solo carácter, por lo que si tail imprime un salto de línea, lo contará como un byte. En esta opción es obligatorio escribir -c seguido de num positivo o negativo dependiendo del requerimiento. Por +num , muestra todos los datos después de omitir num bytes desde el inicio del archivo especificado y por -num , muestra los últimos num bytes del archivo especificado.
Nota: Sin un signo positivo o negativo antes de num , el comando mostrará los últimos num bytes del archivo especificado.

With negative num
$tail -c -6 state.txt
Bengal
        OR
$tail -c 6 state.txt
Bengal

With positive num
$tail -c +263 state.txt
Nadu
Telangana
Tripura
Uttar Pradesh
Uttarakhand

3. -q: Se usa si se da más de 1 archivo. Debido a este comando, los datos de cada archivo no van precedidos por su nombre de archivo.

Without using -q option
$tail state.txt capital.txt
  state.txt
Odisha
Punjab
Rajasthan
Sikkim
Tamil Nadu
Telangana
Tripura
Uttar Pradesh
Uttarakhand
West Bengal
  capital.txt
Dispur
Patna
Raipur
Panaji
Gandhinagar
Chandigarh
Shimla
Srinagar
Ranchi


With using -q option
$tail -q state.txt capital.txt
Odisha
Punjab
Rajasthan
Sikkim
Tamil Nadu
Telangana
Tripura
Uttar Pradesh
Uttarakhand
West BengalDispur
Patna
Raipur
Panaji
Gandhinagar
Chandigarh
Shimla
Srinagar
Ranchi
Bengaluru

4. -f: esta opción es utilizada principalmente por la administración del sistema para monitorear el crecimiento de los archivos de registro escritos por muchos programas de Unix mientras se ejecutan. Esta opción muestra las últimas diez líneas de un archivo y se actualizará cuando se agreguen nuevas líneas. A medida que se escriben nuevas líneas en el registro, la consola se actualizará con las nuevas líneas. El indicador no regresa incluso después de que finaliza el trabajo, por lo que debemos usar la tecla de interrupción para cancelar este comando. En general, las aplicaciones escriben mensajes de error en los archivos de registro. Puede utilizar la opción -f para comprobar los mensajes de error a medida que aparecen en el archivo de registro.

$tail -f logfile

5. -v: al usar esta opción, los datos del archivo especificado siempre van precedidos por su nombre de archivo.

$tail -v state.txt
==> state.txt <==
Odisha
Punjab
Rajasthan
Sikkim
Tamil Nadu
Telangana
Tripura
Uttar Pradesh
Uttarakhand
West Bengal

6. –version: esta opción se usa para mostrar la versión de tail que se está ejecutando actualmente en su sistema.

$tail --version
tail (GNU coreutils) 8.26
Packaged by Cygwin (8.26-1)
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later .
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Paul Rubin, David MacKenzie, Ian Lance Taylor,
and Jim Meyering.

Aplicaciones del Comando de cola

1. Cómo usar tail con pipes(|): El comando tail se puede canalizar con muchos otros comandos de Unix. En el siguiente ejemplo, la salida del comando tail se proporciona como entrada al comando sort con la opción -r para ordenar los últimos 7 nombres de estado provenientes del archivo state.txt en el orden inverso.

$tail -n 7 state.txt
Sikkim
Tamil Nadu
Telangana
Tripura
Uttar Pradesh
Uttarakhand
West Bengal

$tail -n 7 state.txt | sort -r
West Bengal
Uttarakhand
Uttar Pradesh
Tripura
Telangana
Tamil Nadu
Sikkim

También se puede canalizar con uno o más filtros para un procesamiento adicional. Como en el siguiente ejemplo, estamos usando el comando cat, head and tail y cuya salida se almacena en el nombre de archivo list.txt usando la directiva (>).

$cat state.txt | head -n 20 | tail -n 5  > list.txt

$cat list.txt
Manipur
Meghalaya
Mizoram
Nagaland
Odisha

Lo que está sucediendo en este comando, intentemos explorarlo. El primer comando cat brinda todos los datos presentes en el archivo state.txt y luego la tubería transfiere toda la salida proveniente del comando cat al comando head . El comando principal brinda todos los datos desde el inicio (número de línea 1) hasta el número de línea 20 y transfiere toda la salida proveniente del comando principal al comando final . Ahora, el comando tail proporciona las últimas 5 líneas de los datos y la salida va al nombre del archivo list.txt a través del operador de directiva.
2. Línea de impresión entre las líneas M y N

Este artículo es una contribución de Akash Gupta. Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *