Cómo usar el Comando CUT en Linux

El comando CUT en Linux es una poderosa herramienta de procesamiento de texto utilizada para extraer secciones específicas de cada línea de un archivo o de una entrada canalizada.

No modifica el archivo original, simplemente lee su contenido y muestra las partes deseadas en la salida estándar.

En esta guía exploraremos su propósito y cómo utilizarlo con ejemplos prácticos del mundo real.

¿Qué es el Comando cut?

La herramienta cut es muy útil para trabajar con texto estructurado, permitiendo extraer datos de forma eficiente en sistemas tipo Unix.

Con ella puedes filtrar por posiciones de bytes, caracteres, delimitadores o campos y resulta ideal para:

  • Extraer columnas de archivos CSV
  • Limpiar caracteres de líneas
  • Analizar archivos de log
  • Usarlo en pipelines (combinado con otros comandos)

Sintaxis Básica

cut [OPCIONES] [ARCHIVO]

Si no se especifica un archivo, cut leerá desde la entrada estándar. Además, puedes usar múltiples archivos, que serán combinados antes del procesamiento.

Opciones de Uso Más Comunes del Comando CUT

OpciónDescripción
-f o --fieldsSelecciona campos por delimitador
-b o --bytesExtrae ciertos bytes
-c o --charactersExtrae caracteres por posición
-d o --delimiterDefine el delimitador (por defecto es tabulador)
--complementMuestra todo excepto lo seleccionado
-s o --only-delimitedOmite líneas sin delimitador
--output-delimiterCambia el delimitador en la salida

Ejemplos de LIST en -f, -b o -c:

  • 2: solo la posición 2
  • 1,3,5: múltiples posiciones
  • 2-4: rango de 2 a 4
  • 2-: desde 2 hasta el final
  • -4: desde el inicio hasta 4

Ejemplos Prácticos

Primero, creamos un archivo de prueba:

echo -e "empID,empName,empDesign101,Anees,Authorn102,Asghar,Managern103,Damian,CEO" > mte.csv

Verificamos su contenido:

cat mte.csv

Extraer por Caracteres

cut -c 1,8 mte.csv
cut -c 1-8 mte.csv

Extraer por Bytes

cut -b 1-3 mte.csv

Extraer por Campos

cut -d',' -f2 mte.csv

Usar Delimitadores Personalizados

echo "¡Hola Geeks, bienvenidos a Maketecheasier.com!" | cut -d ' ' -f 5

Excluir Campos

cut -d',' -f1 mte.csv --complement

Cambiar el Delimitador de Salida

cut -d',' -f1-3 --output-delimiter='-' mte.csv

Usar CUT con Otros Comandos

who | cut -c 1-5
head -n 2 mte.csv | cut -d ',' -f2,3

Manejar Formatos de Datos Irregulares

Espacios Extra

cat mteData.txt | tr -s ' ' | cut -d ' ' -f1-2

Delimitadores Mixtos

sed 's/ /,/g' mteData1.txt | cut -d ',' -f1,3

Conclusión

El comando CUT es una herramienta esencial para quienes trabajan en la terminal con datos estructurados.

Bien sea para manejar archivos CSV, logs o datos desordenados, cut permite extraer exactamente lo que necesitas con una sintaxis simple y directa.

Combinado con comandos como head, tr, sed, y grep, amplía mucho su poder y utilidad.