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ón | Descripción |
|---|---|
-f o --fields | Selecciona campos por delimitador |
-b o --bytes | Extrae ciertos bytes |
-c o --characters | Extrae caracteres por posición |
-d o --delimiter | Define el delimitador (por defecto es tabulador) |
--complement | Muestra todo excepto lo seleccionado |
-s o --only-delimited | Omite líneas sin delimitador |
--output-delimiter | Cambia el delimitador en la salida |
Ejemplos de LIST en -f, -b o -c:
2: solo la posición 21,3,5: múltiples posiciones2-4: rango de 2 a 42-: 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.
