cut
El comandos cut
nos permite cortar y mostrar columnas de un fichero o la entrada estándar en base a un delimitador (por defecto el tabulador) que se puede definir con -d
o en base a posiciones de caracteres con -c
. Para indicar que columnas queremos mostrar usaremos -f
.
Por ejemplo para listar los usuarios de sistema y su shell, podemos hacer:
cut -d : -f 1,7 /etc/passwd nobody:/usr/bin/false root:/bin/sh
Delimitador :
y las columnas 1 y 7
.
Un problema que tiene cut
es que -c
solo permite contar de izquierda a derecha pero no al revés, por loq ue si queremos quedarnos con el principio de la frase no podemos:
$ echo "esto es una frase de prueba" | cut -c18- de prueba
Pero tenemos varias soluciones:
# invirtiendo el orden de la frase $ echo "esto es una frase de prueba" | rev | cut -c11- | rev esto es una frase # con head, pero perdemos el salto de línea $ echo "esto es una frase de prueba" | head -c 18 esto es una frase # con awk $ echo "esto es una frase de prueba" | awk '{print substr($0,0,length-9)}' esto es una frase