En informática , cut
es una utilidad de línea de comandos en sistemas operativos Unix y similares que se utiliza para extraer secciones de cada línea de entrada, generalmente de un archivo . Actualmente forma parte del paquete GNU coreutils y del sistema base BSD .
La extracción de segmentos de línea se puede realizar normalmente mediante bytes ( -b
), caracteres ( -c
) o campos ( -f
) separados por un delimitador ( -d
— el carácter de tabulación por defecto). Se debe proporcionar un rango en cada caso que consta de uno de los siguientes: N
, N-M,
N-
( N
hasta el final de la línea), o -M
(inicio de la línea a M
), donde N y M se cuentan desde 1 (no hay ningún valor cero). Desde la versión 6, se genera un error si se incluye un valor cero. Antes de esto, el valor se ignoraba y se asumía que era 1.
La versión original de Bell Labs fue escrita por Gottfried WR Luderer. [1] [2] cut
es parte de la Guía de Portabilidad X/Open desde la edición 2 de 1987. Fue heredada en la primera versión de POSIX.1 y la Especificación Única de Unix . [3] Apareció por primera vez en AT&T System III UNIX en 1982. [4]
La versión cut
incluida en GNU coreutils fue escrita por David M. Ihnat, David MacKenzie y Jim Meyering. [5] El comando está disponible como un paquete separado para Microsoft Windows como parte de la colección UnxUtils de puertos Win32 nativos de utilidades comunes de GNU similares a Unix. [6] El comando cut también ha sido portado al sistema operativo IBM i . [7]
Suponiendo un archivo llamado " file
" que contiene las líneas:
foo:bar:baz:qux:quuxuno:dos:tres:cuatro:cinco:seis:sietealfa:beta:gamma:delta:épsilon:zeta:eta:theta:iota:kappa:lambda:muEl rápido zorro marrón salta sobre el perro perezoso.
Para generar los caracteres del cuarto al décimo de cada línea:
$ cut -c 4 -10 archivo :bar:ba :two:th ha:beta rápido
Para generar el quinto campo hasta el final de la línea de cada línea utilizando el carácter de dos puntos como delimitador de campo:
$ cut -d : " -f 5 - file quux cinco:seis:siete epsilon:zeta:eta:theta:iota:kappa:lambda:mu el rápido zorro marrón salta sobre el perro perezoso
(tenga en cuenta que debido a que el carácter de dos puntos no se encuentra en la última línea, se muestra la línea completa)
La opción -d
especifica un único carácter delimitador (en el ejemplo anterior, dos puntos) que sirve como separador de campos. La opción -f
especifica el rango de campos incluidos en la salida (aquí, los campos van desde cinco hasta el final). La opción -d
presupone el uso de option -f
.
Para generar el tercer campo de cada línea utilizando el espacio como delimitador de campo:
$ corte -d " " -f 3 archivo foo:bar:baz:qux:quux uno:dos:tres:cuatro:cinco:seis:siete alfa:beta:gamma:delta:epsilon:zeta:eta:theta:iota: kappa:lambda:mu marrón
(Tenga en cuenta que debido a que el carácter de espacio no se encuentra en las primeras tres líneas, se muestran estas líneas completas).
Para separar dos palabras que tengan cualquier delimitador:
$ línea = proceso.idproceso $ corte -d "." -f1 <<< $ línea proceso $ corte -d "." -f2 <<< $ línea idproceso
cortar [-b lista] [-c lista] [-f lista] [-n] [-d delim] [-s] [archivo]
Las banderas que se pueden utilizar incluyen:
cut -b1-66
cut -c1-66