# rm-rf.es

Unix: Uso del comando cut

Como su propio nombre indica, el comando cut tiene la característica de poder cortar caracteres y campos, con la posibilidad de usar delimitadores y otras opciones, para finalmente extraer las partes seleccionadas de cada fichero en la salida estándar.

El comando cut nos ofrece los siguientes argumentos:

-b, –bytes=LISTA       muestra solamente estos bytes
-c, –characters=LISTA  selecciona solamente estos caracteres
-d, –delimiter=DELIM   usa DELIM en vez de caracteres de tabulación para delimitar los campos
-f, –fields=LISTA selecciona solamente estos campos; también muestra cualquier línea que no tenga un carácter delimitador, a menos que se especifique la opción -s
-n (no tiene efecto)
–complement complementa el conjunto de bytes, caracteres o campos seleccionados.
-s, –only-delimited    no muestra las líneas que no contienen delimitadores
–output-delimiter=CADENA  utiliza CADENA como el delimitador del resultado. Por omisión se utiliza el
delimitador de la entrada
–help muestra esta ayuda y finaliza
–version informa de la versión y finaliza

Vamos a hacer unos ejemplos sencillos, saquemos un texto por pantalla:

$ echo "Esto es una prueba, 1 2 3, probando"
Esto es una prueba, 1 2 3, probando

Bien, utilizando como delimitador por ejemplo la coma, podemos dividir en 3 partes el texto, podemos mostar cada una de esas tres partes (fields) con la opción -f
:

$ echo "Esto es una prueba, 1 2 3, probando"  | cut -d "," -f 1
Esto es una prueba
$ echo "Esto es una prueba, 1 2 3, probando"  | cut -d "," -f 2
 1 2 3
$ echo "Esto es una prueba, 1 2 3, probando"  | cut -d "," -f 3
 probando

¿Y si quisieramos sacar solamente unos caracteres en concreto? Usaremos el argumento -c:

$ echo "Esto es una prueba, 1 2 3, probando"  | cut  -c 1-4
Esto
$ echo "Esto es una prueba, 1 2 3, probando"  | cut  -c 6-8
es
$ echo "Esto es una prueba, 1 2 3, probando"  | cut  -c 9-12
una
$ echo "Esto es una prueba, 1 2 3, probando"  | cut  -c 14-18
rueba
$ echo "Esto es una prueba, 1 2 3, probando"  | cut  -c 13-18
prueba

Esto es lo más básico del comando cut, a partir de aquí ya sabéis, trastear, investigar, revisar la página man y comenzar a utilizarlo junto con otros comandos, en scripts, etc.

Salir de la versión móvil