Explicación del comando Linux cut para principiantes (con ejemplos)

En Linux, si quieres imprimir el contenido de un archivo en la salida estándar, el primer comando que se te ocurre es cat. Sin embargo, puede haber ocasiones en las que el requisito sea eliminar cierta parte del archivo e imprimir sólo el resto del contenido. Te alegrará saber que existe una herramienta, llamada cut, que te permite hacer esto.

En este artículo, hablaremos de esta herramienta con algunos ejemplos fáciles de entender. Pero antes de hacerlo, conviene mencionar que todos los ejemplos de este artículo se han probado en una máquina Ubuntu 18.04 LTS.

El comando cut de Linux

El comando cut en Linux permite a los usuarios eliminar secciones de cada línea de los archivos. Su sintaxis es la siguiente:

cut OPTION... [FILE]...

Esto es lo que dice la página man sobre esta utilidad:

       Print selected parts of lines from each FILE to standard output.

       With no FILE, or when FILE is -, read standard input.

Y a continuación hay algunos ejemplos al estilo de las preguntas y respuestas que deberían darte una buena idea de cómo funciona esta utilidad.

Q1. ¿Cómo se utiliza el comando cut?

El comando cut espera que el usuario proporcione una lista de bytes, caracteres o campos. Puedes proporcionar bytes utilizando la opción de línea de comandos -b.

Por ejemplo, supón que hay un archivo llamado archivo1.txt que contiene la siguiente línea:

abcdefghijklmnopqrstuvwxyz

Y quieres mostrar sólo los tres primeros bytes. Entonces, en este caso, puedes utilizar la opción -b de la siguiente manera

cut file1.txt -b1,2,3

La salida será:

abc

También puedes especificar un rango:

cut file1.txt -b1-10

A continuación se muestra la salida producida en este caso:

abcdefghij

Además, también puedes utilizar el guión (-) con un número para indicar al comando cut que muestre todos los bytes después del byte de ese número o todos los bytes antes del byte de ese número.

Por ejemplo, el siguiente comando hará que se muestren todos los bytes incluidos y posteriores al del número 5.

cut file1.txt -b5-

Y el siguiente comando mostrará los 5 primeros bytes:

cut file1.txt -b-5

Cómo utilizar el comando cortar

Q2. ¿Cómo tratar los caracteres?

A veces, el archivo que pasas al comando cortar contiene caracteres de más de un byte. En ese caso, es aconsejable utilizar la opción -c, que permite a la herramienta entender correctamente qué caracteres quieres mostrar o eliminar.

Por ejemplo, ♣ es un carácter especial que ocupa varios bytes. Por tanto, si quieres utilizar el comando cortar en un flujo de texto que contenga este tipo de caracteres, es mejor utilizar -c en lugar de -b. En cuanto a la funcionalidad, tanto -c como -b funcionan de forma similar.

Q3. ¿Cómo funciona cut con los delimitadores?

También puedes hacer que el comando cortar funcione con delimitadores. Para ello, puedes utilizar la opción de línea de comandos -d.

Por ejemplo, supongamos que el archivo de entrada contiene campos separados por comas:

Howtoforge, HTF, howtoforge.com
FaqForge, FF, faqforge.com

Y quieres sólo la primera y la tercera entrada, entonces se puede hacer de la siguiente manera:

cut file1.txt -d, -f1,3

Ten en cuenta que la opción -f te permite elegir los campos que quieres mostrar.

Conclusión

Como ves, el comando cut tiene el potencial de ahorrarte mucho tiempo si la tarea implica la salida selectiva del contenido de un archivo. En este tutorial hemos tratado algunas opciones básicas de la línea de comandos que ofrece esta herramienta. Para saber más, dirígete a la página man de la herramienta.

También te podría gustar...