systemadmin.es > Utilidades > Uso de cut: Herramientas UNIX (I)

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:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>