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:
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.