La herramienta 'cut' se utiliza para obtener porciones de cada línea de un archivo. Es útil cuando es necesario filtrar información de un archivo por columnas o por un rango determinado de caracteres.

Se puede demostrar un ejemplo sencillo de uso para obtener información específica de la salida de un comando, por ejemplo mount.

En mi GNU/Linux box, la salida del comando mount es la siguiente:

$ mount
/dev/sda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)                
/dev/sda1 on /boot type ext4 (rw)                
/dev/sda8 on /data type ext4 (rw)                
/dev/sda3 on /home type ext4 (rw)                
/dev/sda6 on /usr type ext4 (rw)                 
/dev/sda5 on /var type ext4 (rw)                 
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

Si se desea obtener los tipos de sistemas de archivos montados, es necesario recortar la columna 5 (cut numera las columnas a partir del 1 en adelante):

$ mount | cut -d' ' -f5
ext4
proc
sysfs
devpts
tmpfs
ext4
ext4
ext4
ext4
ext4
binfmt_misc
rpc_pipefs

La opción "-d" indica el delimitador de columnas, en este caso se utiliza un espacio en blanco (también puede ser <TAB>, coma, punto y coma, guión, o cualquier otro caracter):

-d' '

La opción "-f" indica el número de columna que se desea obtener/recortar, en este caso la columna 5 (se numeran 1, 2, 3, 4, ...):

-f5

También es posible recortar un rango de caracteres utilizando la opción "-c" y el rango deseado de caracteres:

$ mount | cut -c5-15
/sda2 on /
 on /proc t
s on /sys t
ts on /dev/
s on /dev/s
/sda1 on /b
/sda8 on /d
/sda3 on /h
/sda6 on /u
/sda5 on /v
 on /proc/s
pc on /var/

Si se omite el caracter de finalización del rango, cut recorta hasta el final de la línea:

$ mount | cut -c10-
 on / type ext4 (rw)
proc type proc (rw)
/sys type sysfs (rw)
 /dev/pts type devpts (rw,gid=5,mode=620)
/dev/shm type tmpfs (rw)
 on /boot type ext4 (rw)
 on /data type ext4 (rw)
 on /home type ext4 (rw)
 on /usr type ext4 (rw)
 on /var type ext4 (rw)
proc/sys/fs/binfmt_misc type binfmt_misc (rw)
 /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)


Tal vez pueda interesarte


Compartí este artículo