jueves, 23 de septiembre de 2010

Comando cut : selección de columnas en archivos

El comando cut permite seleccionar columnas o campos completos en un archivo estructurado ( con campos separados por algún delimitador). El delimitador por defecto de cut es el tabulador

Algunas de las opciones son:
-f permite seleccionar el campo que queremos ver
-d para cambiar el delimitador
-c seleccionar columnas
-s no muestra las lineas que no tienen el delimitador

Supongamos que tenemos el archivo (separado por tabuladores)
1 a 123
5 b 64
2 A 32
3 a 16

- Seleccionamos el segundo campo
cut -f 2 prueba.txt
a
b
A
a

- Seleccionamos los caracteres entre la posición 5 y 6
cut -c5-6 prueba.txt
12
64
32
16

-Si el delimitador fuese una coma podríamos usar -d, o -d','
cut -d, -f 3 prueba2.txt
123
64
32
16

En el caso de usar conjuntamente ls y cut veremos que al tener un numero diferente de espacios en algunos campos (por ejemplo en el tamaño del archivo) no saldrán correctamente y algunas lineas saldrán en blanco.
ls -la | cut -d' ' -f 5

En este caso es mejor optar por otros comandos por ejemplo usando awk:
ls -la | awk '{print $5 }'

No hay comentarios: