cut

De Wikiunix


Contenido

Descripción

La orden cut imprime tan sólo las secciones seleccionadas cada línea del fichero.

Sintaxis

La sintaxis es:
cut opción... [fichero]...

Opciones

  • -b lista: Corta la entrada basándose en una lista de bytes. Se devolverán todos los bytes especificados en la lista, a menos que se use también la opción -n. No se devolverá un error si se seleccionan bytes que no existen en la entrada (por ejemplo cortar los primeros 2000 bytes de un archivo de 500 bytes).
  • -c listaCorta la entrada basándose en una lista de caracteres. Se devolverán todos los caracteres especificados en la lista, a menos que se use también la opción -n. No se devolverá un error si se seleccionan caracteres que no existen en la entrada (por ejemplo cortar el carácter 10 de la entrada "hola").
  • -d delim: Cambia el delimitador usado por el que se indique. El delimitador por defecto es <tab>.
  • -f lista: Corta la entrada basándose en una lista de campos, asumiendo que estarán separados en la entrada por el delimitador especificado con la opción -d. Se devolverán todos los campos especificados en la lista, separados por un único delimitador, que habíamos definido con la opción -d. Las líneas que no contengan el carácter delimitador se pasarán intactas, a menos que se especifique la opción -s.
  • -n: Evita que se separen caracteres. Esto se usa sobre todo con la opción -b. Cada elemento de la lista del comando -b, especificado como bajo-alto, se modifica de la siguiente manera:
Si el byte seleccionado como bajo no es el primero de un carácter, bajo se modifica para seleccionar el primer byte del carácter seleccionado originalmente por bajo. Si el byte seleccionado como alto no es el último de un carácter, alto se modifica para seleccionar el último byte del carácter anterior al seleccionado originalmente por alto, o cero si no hay carácter anterior.
  • -s: Elimina líneas que no contengan el carácter delimitador, cuando se usa con la opción -f.
  • --help: Muestra la ayuda del comando.
  • --version: Muestra información sobre la versión.

Notas

La sintaxis de las listas de bytes, caracteres o campos se puede ver con los siguientes ejemplos:

  • 1,4,7: Selecciona el primer, cuarto y séptimo bytes, caracteres o campos.
  • 1-3,8: Equivalente a 1,2,3,8.
  • -5,10: Equivalente a 1,2,3,4,5,10.
  • 3-: Equivalente a seleccionar desde el 3 hasta el final, ambos inclusive.

Ejemplos

Ejemplos básicos

echo "Esto es una prueba, 1 2 3, probando" | cut -d "," -f 1

Imprime la salida "Esto es una prueba".

echo "Esto es una prueba, 1 2 3, probando" | cut -c 1-4

Imprime la salida "Esto".

Ejemplos más avanzados

cut -d: -f 1,6 /etc/passwd

Lee el fichero de usuarios e imprime líneas con el siguiente formato: UID:directorio_home. Esto mismo podría hacerse con el comando awk de una manera similar.

cut -b 1-500 -n file > file1
cut -b 501- -n file > file2
paste -d "\0" file1 file2 > file

Este ejemplo une el comando cut y el comando paste. Primero se cortan los 500 primeros bytes del fichero file y se guardan en file1. Después se cortan los bytes del 501 hasta el último del fichero file y se guardan en file2. Por último, se usa el comando paste para recuperar el contenido original del fichero.

Referencias

Página del manual de Ubuntu sobre el comando cut (en inglés)

Página de Wikipedia sobre el comando cut (en inglés)

Página sobre el comando cut (en español)

Véase también

paste

grep

awk

Herramientas personales