logo

comando de corte en Linux con ejemplos

El comando cortar en Linux es un comando para cortar las secciones de cada línea de archivos y escribir el resultado en la salida estándar. Se puede utilizar para cortar partes de una línea por posición de byte, carácter y campo. El comando de corte corta una línea y extrae el texto. Es necesario especificar una opción con un comando de lo contrario da error. Si se proporciona más de un nombre de archivo, los datos de cada archivo no estarán precedidos por su nombre de archivo.

Tabla de contenidos



Sintaxis del comando cortar

La sintaxis básica delcut>comando es:

cut OPTION... [FILE]...>

Dónde

`OPTION`> especifica el comportamiento deseado



` FILE> `>representa el archivo de entrada.

Nota : SiFILE>no está especificado, ` cut`> lee desde la entrada estándar (stdin).

Opciones disponibles en el comando cortar

Aquí hay una lista de las opciones más utilizadas con el ` cut`> dominio:



Opción

Descripción

-b, –bytes=LISTA

Selecciona sólo los bytes especificados enLIST>(p.ej.,-b 1-3,7>).

-c, –caracteres=LISTA

Selecciona sólo los caracteres especificados enLIST>(p.ej.,-c 1-3,7>).

-d, –delimitador=DIVIDIR

UsosDELIM>como carácter delimitador de campo en lugar de carácter de tabulación.

-f, –campos=LIS

Selecciona sólo los campos especificados enLIST>, separados por el carácter delimitador (el valor predeterminado es tabulación).

-norte

No divida caracteres de varios bytes (sin efecto a menos que-b>o-c>está especificado).

-complementar

Invertir la selección de campos/caracteres. Imprime los campos/caracteres no seleccionados.

Ejemplos prácticos del comando cortar

Consideremos dos archivos que tienen nombre estado.txt y capital.txt contiene 5 nombres de los estados y capitales de la India, respectivamente.

$ cat state.txt Andhra Pradesh Arunachal Pradesh Assam Bihar Chhattisgarh>

Sin ninguna opción especificada, muestra un error.

  $ cut state.txt   cut: you must specify a list of bytes, characters, or fields Try 'cut --help' for more information.>

Extraer bytes específicos (-b>) Usando el comando cortar

-b(byte): Para extraer los bytes específicos, debe seguir la opción -b con la lista de números de bytes separados por coma. El rango de bytes también se puede especificar utilizando el guión (-). Es necesario especificar la lista de números de bytes, de lo contrario se producirá un error.

Pestañas y retrocesos se tratan como un carácter de 1 byte.

Lista sin rangos :

cut -b 1,2,3 state.txt>
lista sin rango

lista sin rango

Lista con rangos:

cut -b 1-3,5-7 state.txt>
lista con rango

lista con rango

Utiliza una forma especial para seleccionar bytes desde el principio hasta el final de la línea:

Formulario especial: selección de bytes desde el principio hasta el final de la línea

En esto, 1- indica desde el 1er byte hasta el byte final de una línea

cut -b 1- state.txt>
forma especial

formulario especial con opción -b

En esto, -3 indica del 1er byte al 3er byte de una línea

cut -b -3 state.txt>
forma especial

opción de forma especial -b

Cortar por carácter (-c>) Usando el comando cortar

-c (columna): Para cortar por carácter utilice la opción -c. Esto selecciona los caracteres dados a la opción -c. Puede ser una lista de números separados por comas o un rango de números separados por guión (-).

Pestañas y retrocesos son tratados como un personaje. Es necesario especificar la lista de números de caracteres, de lo contrario se producirá un error con esta opción.

Sintaxis:

cut -c [(k)-(n)/(k),(n)/(n)] filename>

Aquí, k denota la posición inicial del personaje y norte denota la posición final del carácter en cada línea, si k y norte están separados por; de lo contrario, son solo la posición del carácter en cada línea del archivo tomado como entrada.

Extraer caracteres específicos:

cut -c 2,5,7 state.txt>
Extraer caracteres específicos

Extraer caracteres específicos

El comando de corte anterior imprime el segundo, quinto y séptimo carácter de cada línea del archivo.

Extraiga los primeros siete caracteres:

cut -c 1-7 state.txt>
Extrae los primeros siete caracteres

Extrae los primeros siete caracteres

El comando de corte anterior imprime los primeros siete caracteres de cada línea del archivo. Cortar utiliza una forma especial para seleccionar caracteres desde el principio hasta el final de la línea:

Forma especial: selección de caracteres desde el principio hasta el final de la línea

cut -c 1- state.txt>
seleccionar caracteres desde el principio hasta el final de la línea

seleccionando caracteres desde el principio hasta el final de la línea usando la opción -c

El comando anterior se imprime desde el primer carácter hasta el final. Aquí, en el comando, solo se especifica la posición inicial y se omite la posición final.

cut -c -5 state.txt>
seleccionando caracteres desde el principio hasta el final de la línea usando la opción -c

seleccionando caracteres desde el principio hasta el final de la línea usando la opción -c

El comando anterior imprime la posición inicial hasta el quinto carácter. Aquí se omite la posición inicial y se especifica la posición final.

Cortar por campo (-f>) Usando el comando cortar

-f (campo): -c La opción es útil para líneas de longitud fija. La mayoría de los archivos Unix no tienen líneas de longitud fija. Para extraer información útil, debe cortar por campos en lugar de columnas. La lista del número de campos especificado debe estar separada por coma. Los rangos no se describen con la opción -f . cortar usos pestaña como delimitador de campo predeterminado, pero también puede funcionar con otro delimitador usando -d opción.

Nota: El espacio no se considera delimitador en UNIX.

Sintaxis:

cut -d 'delimiter' -f (field number) file.txt>

Extraer el primer campo:

como en el archivo estado.txt Los campos están separados por espacios si no se usa la opción -d, se imprime la línea completa:

cut -f 1 state.txt>
Extraiga el primer campo usando la opción -f

Extraiga el primer campo usando la opción -f

Si ` -d` Se utiliza esta opción, entonces se considera el espacio como separador o delimitador de campo:

cut -d ' ' -f 1 state.txt>
espacio como separador o delimitador de campo

espacio como separador o delimitador de campo

Extraiga los campos 1 a 4:

El comando imprime el campo del primero al cuarto de cada línea del archivo.

cut -d ' ' -f 1-4 state.txt>

El comando imprime el campo del primero al cuarto

El comando imprime el campo del primero al cuarto

Salida del complemento (--complement>) Usando el comando cortar

-complementar: Como sugiere el nombre, complementa la salida. Esta opción se puede utilizar en combinación con otras opciones, ya sea con -F o con -C .

cut --complement -d ' ' -f 1 state.txt>
--complementar

-complementar

cut --complement -c 5 state.txt>

--complementar

-complementar

Delimitador de salida (--output-delimiter>) Usando el comando cortar

–delimitador de salida: Por defecto, el delimitador de salida es el mismo que el delimitador de entrada que especificamos en el corte con -d opción. Para cambiar el delimitador de salida utilice la opción –delimitador-salida=delimitador .

cut -d ' ' -f 1,2 state.txt --output-delimiter='%'>

2024-02-16_13-18

Aquí el comando de corte cambia el delimitador (%) en la salida estándar entre los campos que se especifica mediante la opción -f.

Versión de visualización (--version>) Usando el comando cortar

-versión: Esta opción se utiliza para mostrar la versión de corte que se está ejecutando actualmente en su sistema.

cut --version>

mostrar la versión del comando de corte

mostrar la versión del comando de corte

Cómo usar la cola con tuberías (|) en el comando de corte

El comando de corte se puede conectar con muchos otros comandos de Unix. En el siguiente ejemplo de salida del gato El comando se da como entrada al cortar comando con -F Opción para ordenar los nombres de los estados provenientes del archivo state.txt en orden inverso.

cat state.txt | cut -d ' ' -f 1 | sort -r>
usando cola con tubería (|) en el comando de corte

usando cola con tubería (|) en el comando de corte

También se le puede conectar uno o más filtros para procesamiento adicional. Como en el siguiente ejemplo, estamos usando el comando cat, head y cut y cuya salida se almacena en el nombre del archivo list.txt usando la directiva (>).

cat state.txt | head -n 3 | cut -d ' ' -f 1>lista.txt>
cat list.txt>

redireccionando la salida en un archivo diferente

descargar videos de youtube en vlc

redireccionando la salida en un archivo diferente

Preguntas frecuentes sobre el comando cut en Linux – Preguntas frecuentes

¿Cómo uso el cut> ¿Comando para extraer columnas específicas de un archivo?

Ejemplo: para extraer la primera y tercera columnas de un archivo CSV llamado ` data.csv`> .

cut -d',' -f1,3 data.csv>

Puedo usar cut> ¿Extraer una variedad de caracteres de cada línea?

Sí tu puedes. Para extraer los caracteres del 5 al 10 de cada línea de un archivo llamadotext.txt>.

cut -c5-10 text.txt>

¿Cómo puedo cambiar el delimitador utilizado por el cut> ¿dominio?

Utilice el ` -d`> opción seguida del carácter delimitador. Por ejemplo, para utilizar dos puntos (:>) como delimitador.

cut -d':' -f1,3 data.txt>

¿Es posible utilizar cut> ¿Extraer campos según la posición del carácter?

Sí, puede especificar las posiciones de los caracteres con el ` -c`> opción. Por ejemplo, para extraer los caracteres del 1 al 5 y del 10 al 15 de cada línea.

cut -c1-5,10-15 data.txt>

¿Cómo uso? cut> ¿Extraer campos basados ​​en un delimitador específico y almacenarlos en un archivo nuevo?

Para extraer campos separados por comas y almacenarlos en un nuevo archivo llamado ` output.tx> t`>

cut -d',' -f1,3 data.csv>salida.txt>

Conclusión

En este artículo discutimos el ` cut`> comando en Linux, que es una herramienta versátil para extraer secciones específicas de archivos según la posición del byte, el carácter o el campo. Corta líneas de texto y genera los datos extraídos. No especificar una opción con elcut>El comando produce un error. Se pueden procesar varios archivos, pero el resultado no incluye los nombres de los archivos. Opciones como ` -b`> , ` -c`> , y ` -f`> permitir la extracción por byte, carácter y campo, respectivamente. El--complement>opción invierte la selección, imprimiendo lo que no está seleccionado, y--output-delimiter>cambia el delimitador de salida. El comando también incluye opciones para mostrar la versión y se puede usar en combinación con otros comandos a través de canalizaciones para procesamiento adicional.

?list=PLqM7alHXFySFc4KtwEZTANgmyJm3NqS_L