Hay muchos comandos y herramientas de Linux que se utilizan para procesar archivos de texto. Pero hay ocasiones en las que no desea leer todo el contenido de un archivo, sino una parte específica del mismo. ¿Sabe que puede usar los comandos head y tail en Linux para generar el comienzo y el final de un archivo respectivamente?

Siga leyendo para descubrir cómo puede usar estos dos comandos para procesar y manipular texto de manera efectiva en Linux.

¿Qué es el comando principal?

El comando head se utiliza para imprimir las partes iniciales de un archivo. Lee los archivos desde el principio. Si tiene un archivo que tiene más de mil líneas, sería muy engorroso abrirlo y leerlo. Puede imprimir fácilmente algunas líneas desde la parte superior con el comando de cabeza.

La sintaxis del comando head

La sintaxis básica del comando head es:

cabeza[opción][archivo]

Hay muchas opciones disponibles para usar junto con el comando principal, algunas de las cuales se discutirán más adelante. A obtener ayuda de la línea de comandos con respecto al comando head, verifique su página de manual ejecutando:

instagram viewer
cabeza de hombre

Cómo usar el comando de la cabeza

Para este ejemplo, cree un archivo: numeros.txt. En el archivo, enumere los números del uno al 20 en palabras. Puede optar por utilizar cualquier archivo de su elección, pero asegúrese de que tenga al menos 11 líneas.

Uso del comando de cabeza predeterminado

De forma predeterminada, el comando head imprime las primeras 10 líneas de texto de un archivo. Pruébelo con el archivo numbers.txt ejecutando este comando en su terminal:

cabezanúmeros.TXT

Imprimirá las primeras 10 líneas del archivo:

uno
dos
tres
cuatro
cinco
seis
Siete
ocho
nueve
diez

Si el archivo tiene menos de 10 líneas, el comando head imprimirá todas las líneas presentes.

Imprimir el primer número N de líneas

Puede usar el comando head para imprimir un número específico de líneas en lugar de las 10 predeterminadas. Para imprimir las primeras tres líneas del archivo de números.txt, ejecute este comando:

cabeza-norte 3 números.TXT

El resultado:

uno
dos
tres

Excluir las últimas N líneas usando el comando head

Al igual que puede imprimir las primeras líneas de un texto, también puede decidir excluir las últimas N líneas al imprimir. Puede hacer esto usando un número negativo para el parámetro N.

Para excluir las últimas 15 líneas del archivo numbers.txt, ejecute:

cabeza-norte-15números.TXT

El resultado:

uno
dos
tres
cuatro
cinco

Imprimir los primeros N caracteres de un archivo

El comando head también tiene la opción de imprimir el primer número de caracteres o bytes en un archivo. Puedes hacer esto usando el -C opción. Para imprimir los primeros 10 caracteres, utilice:

cabeza-C 10 números.TXT

Producción:

uno
dos
el

¿Qué es el comando de cola?

Como su nombre lo indica, el comando tail imprime las últimas líneas de un archivo. Lee los archivos desde el final y genera las líneas finales.

La sintaxis del comando tail

La sintaxis básica del comando tail es:

cola[opción][archivo]

Para obtener más información sobre el comando tail, consulte su página de manual emitiendo:

 cola de hombre

Cómo usar el comando de cola

Usaremos el archivo number.txt ya creado para los siguientes ejemplos.

Uso del comando de cola predeterminado

El comando tail genera las últimas 10 líneas de un archivo cuando se usa sin ninguna opción especial. Por ejemplo:

colanúmeros.TXT

La salida mostrará las últimas 10 líneas como se menciona:

once
doce
trece
catorce
quince
dieciséis
diecisiete
dieciocho
diecinueve
veinte

Imprimir el último número N de líneas

En una situación en la que no desea imprimir las últimas 10 líneas, sino un número específico, puede utilizar el -norte opción para lograrlo. Para imprimir las últimas cuatro líneas del archivo de números.txt, ejecute este comando:

cola-norte 4 números.TXT

El resultado:

diecisiete
dieciocho
diecinueve
veinte

Imprimir líneas después de una línea específica

Si desea comenzar desde una línea N en particular, puede usar el -norte opción junto con un número positivo para lograrlo. Para imprimir la salida del archivo number.txt desde la línea 17, ejecute este comando:

cola-norte +17 números.TXT

El resultado:

diecisiete
dieciocho
diecinueve
veinte

Imprimir los últimos N caracteres de un archivo

Al igual que con el comando head, puede imprimir los últimos caracteres del archivo usando el comando -C opción. Para imprimir los últimos 10 caracteres del archivo de números.txt, ejecute este comando:

cola-C 10 números.TXT

El resultado:

es
veinte

Uso de los comandos de cabeza y cola con varios archivos

También puede usar cabeza y cola para imprimir más de un archivo a la vez. Esta es la sintaxis para usar los comandos con múltiples entradas de archivos:

cabeza[opción][archivo1][archivo2]
cola[opción][archivo1][archivo2]

Usando los comandos de cabeza y cola juntos

Incluso puede usar la cabeza y la cola en el mismo comando usando el símbolo de tubería. El símbolo de la pipa redirige la salida de un comando como entrada a otra.

Por ejemplo, para obtener las líneas sexta, séptima y octava, puede ejecutar este comando:

head -n 8 numeros.txt | cola -n 3

El resultado:

seis
Siete
ocho

En el one-liner antes mencionado, el comando principal mostraba las primeras ocho líneas del archivo, luego la salida se pasó al comando tail, que imprimió las últimas tres líneas de la redirección producción.

head and tail: útiles comandos de manipulación de texto

Linux ofrece muchos comandos para ayudarlo a manipular y procesar archivos de texto de manera efectiva, y los comandos de cabeza y cola son solo dos de muchos. Los comandos de manipulación de texto más comunes incluyen grep, uniq, sort, sed, awk, etc. Cada uno de ellos cumple un propósito diferente con su conjunto de características únicas.

Además de la cabeza y la cola, hay toneladas de otros comandos de manipulación de texto y archivos disponibles para los usuarios de Linux.