El comando head en Linux: mostrar las primeras líneas de un archivo

Introducción

En el entorno de Linux, uno de los comandos más útiles para inspeccionar archivos de texto es head. Su función principal es mostrar las primeras líneas de un archivo, lo que permite obtener una vista rápida sin necesidad de cargar todo el contenido en memoria. Esta herramienta es especialmente valiosa cuando se trabaja con registros extensos, archivos de configuración o cualquier documento donde se necesite verificar el formato o los encabezados iniciales.

Sintaxis básica

La forma más simple de usar head es simplemente escribir su nombre seguido del nombre del archivo:

head nombre_del_archivo

De esta manera, head mostrará por defecto las primeras diez líneas del archivo especificado. Si no se proporciona ningún archivo, head lee desde la entrada estándar, lo que permite combinarlo con tuberías y otros comandos.

Opciones más usadas

  • -n N: indica el número de líneas que se desean visualizar. Por ejemplo, head -n 20 archivo.txt muestra las veinte primeras líneas.
  • -c N: en lugar de líneas, muestra los primeros N bytes del archivo. Esto es útil para inspeccionar archivos binarios o verificar el tamaño de una cabecera.
  • -q: suprime los encabezados que head normalmente agrega cuando se procesan varios archivos. Con esta opción, la salida es continua y sin interrupciones.
  • -v: fuerza la inclusión del nombre del archivo como encabezado, incluso cuando solo se procesa un único archivo. Es útil para mantener la claridad en scripts.
  • –help y –version: muestran la ayuda y la versión del comando, respectivamente.

Ejemplos prácticos

  • Ver las primeras cinco líneas de un registro de sistema:
  • head -5 /var/log/syslog
  • Obtener los primeros 150 bytes de una imagen para comprobar su cabecera:
  • head -c 150 foto.jpg
  • Examinar simultáneamente varios archivos de configuración sin encabezados:
  • head -q -n 3 /etc/hosts /etc/resolv.conf
  • Combinar head con grep para buscar un patrón solo en las primeras líneas:
  • head -20 archivo.log | grep 'ERROR'
  • Utilizar head en un script para crear una muestra de un archivo grande:
  • head -n 1000 gran_archivo.csv > muestra.csv

Casos de uso típicos

Los administradores de sistemas utilizan head para revisar rápidamente los logs de servicios y detectar problemas sin tener que cargar archivos de varios gigabytes. Los desarrolladores lo emplean para inspeccionar la estructura de archivos CSV, JSON o XML antes de escribir parsers personalizados. En entornos de ciencia de datos, head permite obtener una vista previa de conjuntos de datos masivos, facilitando la decisión sobre qué columnas o filas son relevantes para un análisis posterior. Además, head es común en pipelines de procesamiento donde se necesita limitar la cantidad de datos que pasan a la siguiente etapa, mejorando el rendimiento y reduciendo el consumo de recursos.

Consejos y trucos

  • Recuerda que head, por defecto, usa un buffer de líneas; si necesitas trabajar con bytes, la opción -c es más precisa para archivos donde el concepto de línea no está definido (por ejemplo, archivos binarios).
  • Cuando trabajes con múltiples archivos y quieras mantener el nombre de cada uno como referencia, combina -v con -n para obtener una salida claramente etiquetada.
  • Si deseas omitir las primeras líneas y ver el resto, puedes usar head en combinación con tail: tail -n +11 archivo muestra desde la línea 11 en adelante, equivalente a omitir las primeras diez.
  • En scripts, es buena práctica comprobar la existencia del archivo antes de llamar a head para evitar mensajes de error innecesarios.
  • Para obtener una muestra aleatoria de líneas, puedes usar shuf junto con head: shuf archivo | head -n 5.

Limitaciones y consideraciones

  • Head no modifica el archivo original; solo lectura.
  • En sistemas con codificación multibyte, usar -c puede cortar en medio de un carácter; para evitarlo, prefiera -n cuando trabaje con texto.
  • Si necesita líneas al final del archivo, tail es la herramienta adecuada.
  • En entornos con locales diferentes, el comportamiento de -n puede variar si se definen saltos de línea no estándar.

Conclusión

El comando head es una herramienta sencilla pero poderosa que forma parte del conjunto básico de utilidades de Linux. Su capacidad para mostrar rápidamente las primeras líneas o bytes de un archivo lo convierte en un aliado indispensable para administradores, desarrolladores y cualquier usuario que necesite inspeccionar datos sin sobrecargar el sistema. Dominar sus opciones y saber combinarlo con otros comandos mediante tuberías permite optimizar flujos de trabajo y acelerar la toma de decisiones en entornos de línea de comandos.

Esta obra está bajo una Licencia Creative Commons Atribución 4.0 Internacional para Francesc Roig francesc@vivaldi.net .

EspañolesEspañolEspañol