El comando “cut” es una herramienta en Linux que te permite extraer columnas o secciones específicas de archivos de texto. Con su flexibilidad y facilidad de uso, el comando “cut” se ha convertido en una herramienta esencial para manipular datos en entornos Linux. En esta entrada, exploraremos ocho ejemplos prácticos del comando “cut”, que te mostrarán cómo utilizarlo de manera efectiva para extraer y manipular información en archivos de texto.
1. Extraer una columna específica
El uso más básico del comando “cut” es extraer una columna específica de un archivo de texto. Puedes hacerlo ejecutando el siguiente comando:
cut -f N archivo.txt
Donde “N” es el número de columna que deseas extraer.
El comando extraerá la columna “N” del archivo “archivo.txt” y mostrará el resultado en la salida estándar.
Ejemplo de respuesta:
Supongamos que tenemos un archivo “datos.txt” con el siguiente contenido:
Nombre Edad Ciudad
Juan 25 Barcelona
María 30 Madrid
Si ejecutamos el siguiente comando:
cut -f 2 datos.txt
Obtendremos el siguiente resultado:
Edad
25
30
2. Especificar un delimitador personalizado
En ocasiones, los archivos de texto pueden utilizar delimitadores diferentes a los espacios en blanco. Puedes especificar un delimitador personalizado utilizando la opción “-d” seguida del carácter delimitador. Por ejemplo:
cut -d ';' -f N archivo.txt
Esta opción permite especificar el carácter “;” como delimitador.
Ejemplo de respuesta:
Supongamos que tenemos un archivo “datos.csv” con el siguiente contenido:
Nombre;Edad;Ciudad
Juan;25;Barcelona
María;30;Madrid
Si ejecutamos el siguiente comando:
cut -d ';' -f 2 datos.csv
Obtendremos el siguiente resultado:
Edad
25
30
3. Extraer un rango de caracteres
El comando “cut” también puede utilizarse para extraer un rango específico de caracteres en cada línea de un archivo. Puedes hacerlo utilizando la opción “-c” seguida del rango de caracteres deseado. Por ejemplo:
cut -c N-M archivo.txt
Donde “N” y “M” son los números de inicio y finalización del rango de caracteres.
Ejemplo de respuesta:
Supongamos que tenemos un archivo “texto.txt” con el siguiente contenido:
¡Hola, mundo!
Si ejecutamos el siguiente comando:
cut -c 1-6 texto.txt
Obtendremos el siguiente resultado:
¡Hola
4. Ignorar un número específico de campos
Si deseas omitir un número específico de campos al extraer información de un archivo, puedes utilizar la opción “-f” seguida del número del campo que deseas omitir. Por ejemplo:
cut --complement -f N archivo.txt
Donde “N” es el número de campo que deseas omitir.
Ejemplo de respuesta:
Supongamos que tenemos un archivo “datos.txt” con el siguiente contenido:
Nombre Apellido Edad
Juan Pérez 25
María López 30
Si ejecutamos el siguiente comando:
cut -d ' ' --complement -f 2 archivo.txt
Obtendremos el siguiente resultado:
Nombre Edad
Juan 25
María 30
5. Mostrar solo los campos especificados
Si deseas mostrar solo los campos que has especificado y omitir el resto, puedes utilizar la opción “-f” seguida de una lista de números de campo separados por comas. Por ejemplo:
cut -f N,M archivo.txt
Donde “N” y “M” son los números de campo que deseas mostrar.
Ejemplo de respuesta:
Supongamos que tenemos un archivo “datos.txt” con el siguiente contenido:
Nombre Edad Ciudad
Juan 25 Barcelona
María 30 Madrid
Si ejecutamos el siguiente comando:
cut -f 1,3 datos.txt
Obtendremos el siguiente resultado:
Nombre Ciudad
Juan Barcelona
María Madrid
6. Mostrar solo los campos delimitados por un rango de caracteres
Si deseas mostrar solo los campos que se encuentran entre un rango de caracteres delimitadores, puedes utilizar la opción “-f” seguida de un rango de caracteres. Por ejemplo:
cut -f N-M archivo.txt
Donde “N” y “M” son los caracteres delimitadores que definen el rango.
Ejemplo de respuesta:
Supongamos que tenemos un archivo “datos.txt” con el siguiente contenido:
Nombre|Edad|Ciudad
Juan|25|Barcelona
María|30|Madrid
Si ejecutamos el siguiente comando:
cut -f 2-3 -d '|' datos.txt
Obtendremos el siguiente resultado:
Edad|Ciudad
25|Barcelona
30|Madrid
7. Usar un archivo como delimitador
En lugar de especificar un carácter delimitador directamente en el comando, puedes utilizar un archivo como delimitador utilizando la opción “-d” seguida del nombre del archivo. El archivo debe contener solo el delimitador deseado. Por ejemplo:
cut -d "$(cat archivo_delimitador.txt)" -f N archivo.txt
Ejemplo de respuesta:
Supongamos que tenemos un archivo “archivo_delimitador.txt” con el siguiente contenido:
;
Y un archivo “datos.txt” con el siguiente contenido:
Nombre;Edad;Ciudad
Juan;25;Barcelona
María;30;Madrid
Si ejecutamos el siguiente comando:
cut -d "$(cat archivo_delimitador.txt)" -f 2 datos.txt
Obtendremos el siguiente resultado:
Edad
25
30