•
Uso de cut: Herramientas UNIX (I)
Vamos a iniciar una serie referente a las herramientas UNIX, en este caso basándonos en las GNU, mas comunes. Empezaremos con cut.
En la página man obtenemos la siguiente definición:
NAME cut - remove sections from each line of files
cut se encarga de “cortar” secciones de linea basándose en campo, carácter o byte. Sus opciones más comunes son:
# cut -f <numero de campo> -d <delimitador>
Vamos a ver como realizar las instrucciones de corte. Vamos a suponer una entrada como esta “1,2,3,4,5,6,7”
- Cortamos un determinado campo:
# echo 1,2,3,4,5,6,7 | cut -f 3 -d, 3
- Cortamos desde un campo hacia adelante:
# echo 1,2,3,4,5,6,7 | cut -f 4- -d, 4,5,6,7
- Cortamos desde principi de linea hasta llegar a un determinado campo:
# echo 1,2,3,4,5,6,7 | cut -f -4 -d, 1,2,3,4
- Cortamos un determinado rango:
# echo 1,2,3,4,5,6,7 | cut -f 3-5 -d, 3,4,5
- Cortamos dos campos en concreto:
# echo 1,2,3,4,5,6,7 | cut -f 3,6 -d, 3,6
cut resulta muy útil cuando los delimitadores no se repiten (como múltiples espacios) pero en caso contrario no resulta práctico:
# echo "1 2 3 4 5" | cut -d ' ' -f 1,3,5 1
En su lugar deberemos usar awk, que veremos más adelante:
# echo "1 2 3 4 5" | awk '{ print $1,$3,$5 }' 1 3 5
Deja un comentario: