Búsqueda de sitios web

Comando de cabeza y cola de golpe


Muchos tipos de comandos están disponibles en bash para mostrar el contenido de un archivo. Los comandos más utilizados son los comandos 'cat', 'more', 'less', 'head' y 'tail'. Para leer el archivo completo, se utilizan los comandos 'gato', 'más' y 'menos'. Pero cuando se requiere leer una parte específica del archivo, se utilizan los comandos 'head' y 'tail' para realizar esa tarea.

El comando 'head' se usa para leer el archivo desde el principio y el comando 'tail' se usa para leer el archivo desde el final. En este tutorial se muestra cómo puede usar los comandos 'head' y 'tail' con diferentes opciones para leer la parte particular de un archivo.

Puede usar cualquier archivo existente o crear cualquier archivo nuevo para probar las funciones de los comandos 'head' y 'tail'. Cree dos archivos de texto llamados productos.txt y empleado.txt con el siguiente contenido para mostrar el uso de los comandos 'cabeza' y 'cola' .

productos.txt

ID  Type        Brand       Size        Price
01  HDD     Samsung     1TB         $70
02  Monitor         DELL            15”       $60
03  Mouse       A4      N/A     $05
04  Keyboard    Atech       Normal          $10
05  Scanner         HP      N/A     $50
06  Printer     Samsung         N/A     $100
07  Adapter         A4      N/A     $10
08  Monitor         Samsung         17”       $80

empleado.txt

ID  Name            Department  Post
S001    John Paul       Sales       Marketing Officer
S002    Wellium Bob     Sales       Sales Executive
E003    Jason           HR      Manager
E004    Jullie          HR      Assistant Manager
E005    Janifer             HR      Programmer

Uso del Comando Principal

De forma predeterminada, el comando 'head' lee las primeras 10 líneas del archivo. Si desea leer más o menos de 10 líneas desde el principio del archivo, debe usar la opción '-n' con el comando 'head'.

Sintaxis del comando principal

head [option]  [filename]...[filename]

El uso de la opción en el comando 'head' es opcional y el comando 'head' se puede aplicar para uno o más archivos.

Opciones de comando principal

Los propósitos de las diferentes opciones de comando `head` se explican a continuación.

-c or –bytes

Se utiliza para imprimir el primer número n de caracteres o bytes.

-q or –quiet

Se utiliza para imprimir el contenido de uno o más archivos sin mencionar el nombre del archivo en la salida.

-v or –verbose

Se utiliza para imprimir el contenido de uno o más archivos mencionando el nombre del archivo en la salida.

Ejemplos de comando principal

En los siguientes ejemplos se muestran diferentes usos del comando `head`.

Ejemplo - 1: Comando principal sin ninguna opción

El archivo products.txt tiene 9 líneas con el encabezado. Por lo tanto, el siguiente comando mostrará todas las líneas del archivo products.txt porque no se usa ninguna opción con el comando 'head'.

$ head products.txt

Salida:
El siguiente resultado aparecerá después de ejecutar el comando anterior.

Ejemplo – 2: Comando principal con opción -n y valor positivo

La opción '-n' con 5 se ha utilizado en el siguiente comando 'head' para imprimir las primeras cinco líneas del archivo products.txt en la salida.

$ head -n 5 products.txt

Salida:
El siguiente resultado aparecerá después de ejecutar el comando anterior.

Ejemplo – 3: Comando principal con opción -n y valor negativo

La opción '-n' con -7 se ha utilizado en el siguiente comando 'head' para imprimir el contenido del archivo products.txt después de omitir las últimas 7 líneas.

$ head -n -7 products.txt

Salida:

El siguiente resultado aparecerá después de ejecutar el comando anterior.

Ejemplo-4: Comando principal con la opción -c

La opción '-c' con 67 se ha utilizado en el siguiente comando 'head' para imprimir los primeros 67 caracteres del archivo products.txt en la salida.

$ head -c 67 state.txt

Salida:
El siguiente resultado aparecerá después de ejecutar el comando anterior.

Ejemplo-5: Comando principal con la opción -q

El siguiente comando `head` con la opción –q y dos archivos imprimirá todo el contenido de ambos archivos sin mencionar el nombre del archivo.

$ head -q  employee.txt products.txt

Salida:
El siguiente resultado aparecerá después de ejecutar el comando anterior.

Ejemplo-6: Comando principal con la opción -v

El siguiente comando `head` con la opción –v y dos archivos imprimirá todo el contenido de ambos archivos mencionando los nombres de archivo.

$ head -v employee.txt products.txt

Salida:
El siguiente resultado aparecerá después de ejecutar el comando anterior.

Ejemplo – 7: Comando principal con la opción -n y varios archivos

El número particular de líneas desde el comienzo de uno o más archivos se puede imprimir utilizando la opción -n y el número con el comando `head`. El siguiente comando imprimirá las primeras 2 líneas de los archivos products.txt y employee.txt.

$ head -n 2 products.txt employee.txt

Salida:
El siguiente resultado aparecerá después de ejecutar el comando anterior.

Uso del comando de cola

De forma predeterminada, el comando “tail” lee las últimas 10 líneas del archivo. Si desea leer más o menos de 10 líneas desde el final del archivo, debe usar la opción '-n' con el comando 'tail'.

Sintaxis del comando de cola

tail [option]  [filename]...[filename]

Al igual que el comando 'cabeza', el comando 'cola' también se aplica a varios archivos y el uso de la opción es opcional para el comando 'cola'.

Opciones de comando de cola

Los propósitos de las diferentes opciones de comando `tail` se explican a continuación.

-c or –bytes

Se utiliza para imprimir el último número n de caracteres o bytes.

-q or –quiet

Funciona de manera similar a la opción -q del comando `head`.

-v or –verbose

Funciona de forma similar a la opción -v del comando `head`.

-f or –follow

Se utiliza para monitorear las entradas de registro escritas por los programas en ejecución.

Ejemplo-1: Comando de cola sin ninguna opción

El archivo employee.txt tiene solo 6 líneas que son menos de 10. Por lo tanto, el siguiente comando mostrará el contenido completo del archivo employee.txt.

$ tail employee.txt

Salida:
El siguiente resultado aparecerá después de ejecutar el comando anterior.

Ejemplo – 2: Comando de cola con la opción -n y valor positivo

Cuando desee leer líneas particulares desde el final del archivo, debe usar la opción '-n' con un valor positivo. El siguiente comando mostrará las últimas 2 líneas del archivo employee.txt.

$ tail -n 2 employee.txt

Salida:
El siguiente resultado aparecerá después de ejecutar el comando anterior.

Ejemplo – 3: Comando de cola con -n y valor negativo

Si desea omitir las líneas específicas desde el principio, debe usar la opción '-n' con un valor negativo en el comando 'cola'. El siguiente comando mostrará el contenido del archivo employee.txt omitiendo 3 líneas desde el principio.

$ tail -n -3 employee.txt

Salida:
El siguiente resultado aparecerá después de ejecutar el comando anterior.

Ejemplo – 4: Comando de cola con la opción -c

La opción '-c' con 65 se ha utilizado en el siguiente comando 'tail' para imprimir los últimos 65 caracteres del archivo employee.txt en la salida.

$ tail -c -65 employee.txt

Salida:

El siguiente resultado aparecerá después de ejecutar el comando anterior.

Ejemplo – 5: Comando de cola con la opción -f

Las opciones '-f' y '-n' con la ruta de history.log se han utilizado en el siguiente comando 'tail' para imprimir las 3 líneas del history.log. archivo en la salida.

$ tail -f -n 3 /var/log/apt/history.log

Salida:
El siguiente resultado aparecerá después de ejecutar el comando anterior.

Ejemplo - 6: Comando de cola con la opción -n y varios archivos

El siguiente comando mostrará las últimas 3 líneas de los archivos products.txt y employee.txt.

$ tail -n 3 products.txt employee.txt

Salida:
El siguiente resultado aparecerá después de ejecutar el comando anterior.

Ejemplo - 5: Usar los comandos de cabeza y cola juntos

Si desea leer el contenido desde la mitad de cualquier archivo, solo el comando 'head' o 'tail' no puede resolver este problema. Tienes que usar los comandos 'head' y 'tail' juntos para resolver este problema. El siguiente comando leerá las líneas de la 2 a la 6 del archivo products.txt. Al principio, el comando 'head' recuperará las primeras 6 líneas omitiendo las últimas 5 líneas para el valor negativo y el comando 'tail' recuperará las últimas 5 líneas desde la salida del comando 'head'.

$ head -n -5 products.txt | tail -n 5

Salida:
El siguiente resultado aparecerá después de ejecutar el comando anterior.

Conclusión

Artículos relacionados: