50 comandos de corte de Linux simples y útiles en Unix con ejemplos

El comando de corte se usa para cortar secciones del flujo de entrada estándar o archivos de datos utilizando la utilidad de corte de Unix. Es parte del paquete GNU Coreutils y el sistema base BSD, por lo tanto, está disponible en todos por defecto. El comando de corte en Unix permite cortar secciones basadas en posiciones de bytes, caracteres o campos separados por un delimitador como los caracteres ‘-‘ o ‘:’. Nuestra guía proporciona una introducción práctica al comando cut de Linux utilizando un conjunto de ejemplos bien seleccionados. Pruébelos junto con la lectura de esta publicación para obtener experiencia de primera mano.

Ejemplos de comando Linux Cut en Unix

Nuestros expertos han hecho todo lo posible para que esta guía sea amigable para los nuevos usuarios de Linux. Además, servirá como un punto de referencia útil para usuarios experimentados por igual. Animamos a los lectores a probar los comandos a medida que los exploran. Demostraremos estos comandos de Linux Cut utilizando tanto la entrada estándar como un archivo de referencia. Puede copiar y pegar el contenido del archivo desde aquí y crearlo en su sistema.

Archivo de referencia utilizado con fines de demostración

Estamos usando un archivo de texto llamado test.txt que reside en el directorio de inicio . El archivo contiene cinco filas o líneas, todas con cuatro columnas. Cada fila incluye el nombre de un país, su capital, moneda y población; todos separados por dos puntos delimitadores. Cree este archivo en su sistema y rellénelo con el contenido a continuación.

Ejemplos de comandos de corte de Linux

France: Paris: Euro: 65 million
Austria: Vienna: Euro: 8 million
Turkey: Ankara: Lira: 79 million
Belgium: Brussels: Euro: 11 million
Japan: Tokyo: Yen: 126 million

Sintaxis del comando Cut en Unix

El comando de corte de Linux tiene la siguiente sintaxis.

cut OPTION... [FILE]...

Las OPCIONES incluyen b para (corte basado en bytes), f (campo), c (carácter), d (delimitador), complemento y –delimitador de salida . ARCHIVO es el nombre del archivo. También mostraremos cómo funciona el corte con el flujo de entrada estándar.

Para cortar texto del flujo de entrada, usaremos el comando echo y canalizaremos (|) su salida al comando de corte. Se puede utilizar el mismo método para proporcionar la entrada de cut desde cat.

Cortar texto basado en posiciones de bytes

La opción b proporcionada por la utilidad de corte nos permite cortar secciones de un texto en función de sus posiciones de bytes. Necesitamos usar el comando cut con la bandera -b seguida de los números de bytes para este propósito.

1. Cortar solo un byte del flujo de entrada

$ echo "cutting text from input" | cut -b 1

El comando anterior hace eco de la cadena “cortar texto de la entrada” a la salida estándar y la canaliza como una entrada para el comando de corte. El comando de corte cortará solo el primer byte ( c ) de esta cadena, ya que solo se proporcionó 1 con el indicador -b .

2. Cortar bytes específicos del flujo de entrada

$ echo "cutting text from input" | cut -b 1,3

Este comando solo cortará el primer y tercer byte de la cadena “cortando texto de la entrada” y mostrará ” ct ” como salida. Pruébelo con diferentes posiciones de bytes.

3. Corte el rango de bytes del flujo de entrada

$ echo "cutting text from input" | cut -b 1-12

El comando anterior cortará el rango de bytes 1-12 de la cadena dada e imprimirá “texto de corte” en la salida estándar. Si proporciona rangos de bytes que están fuera de la ocupación de la cadena, aparecerá un mensaje que mostrará “corte: rango de bytes o caracteres no válido” .

4. Cortar solo un byte del archivo de texto

$ cut -b 1 test.txt

Este comando mostrará solo los primeros bytes de cada una de las cinco filas dentro del archivo test.txt . Es equivalente al comando $ cat test.txt | cortar -b 1

5. Cortar bytes específicos del archivo de texto

$ cut -b 1,3 test.txt

El comando anterior corta solo el primer y tercer bytes de cada fila. Puede especificar cualquier número de bytes siempre que estén dentro del rango de bytes disponibles.

6. Cortar rango de bytes del archivo de texto

$ cut -b 1-12 test.txt

Este comando generará del primero al duodécimo bytes de cada fila en el archivo test.txt . Debería notar la similitud de funcionalidad que posee este comando con el tercer comando.

7. Cortar los primeros 7 bytes en orden alfabético

$ cut -b 1-7 test.txt | sort

Podemos proporcionar la salida del comando de corte como entrada al comando de clasificación para mostrar los primeros siete bytes de cada fila en orden alfabético. Para la ordenación alfabética, el comando de ordenación no requiere ninguna opción.

8. Cortar los primeros 7 bytes en orden inverso

$ cut -b 1-7 test.txt | sort -r

Este comando de corte cortará los primeros 7 bytes de cada fila y los mostrará en el orden inverso. Observe cómo la salida del comando de corte se envía al comando de clasificación mediante una tubería.

9. Corte desde el quinto byte hasta el final del flujo de entrada

$ echo "cutting text from input" | cut -b 5-

El comando de corte anterior cortará el texto desde el quinto byte hasta el final de la cadena. Este comando será útil cuando necesite cortar desde una posición de byte especificada hasta el final del flujo de entrada. Simplemente cambie el valor de la bandera b mientras mantiene el seguimiento activado.

10. Corte desde el quinto byte hasta el final del archivo

$ cut -b 5- test.txt

Este comando comenzará a cortar cada una de las cinco filas de test.txt desde la posición del quinto byte y finalizará solo después de que finalice cada fila. El guión final (-) es obligatorio para esta operación.

11. Cortar una cantidad específica de bytes comenzando desde el primero

$ echo "cutting text from input" | cut -b -5

Este comando cortará los primeros cinco bytes de la cadena de entrada. Puede cortar desde el byte inicial a cualquier otra posición de byte simplemente reemplazando el valor de la bandera b. Recuerde agregar el guión anterior (-); de lo contrario, la salida no será la esperada.

12. Cortar desde el primer byte a una posición especificada del archivo

$ cut -b -5 test.txt

El comando anterior cortará solo los primeros cinco bytes de cada línea de nuestro archivo de texto. Observe cómo se usa el guión (-) para los comandos 9-12 en esta lista.

Cortar texto basado en caracteres

El comando de corte en Unix permite a los usuarios cortar una sección de texto basada en caracteres. Cuando tareas de , deberá hacerlo con bastante frecuencia. Pruébelos y observe las similitudes entre el corte basado en caracteres y el corte basado en bytes.

Comando de corte de Linux en Unix para cortar caracteres

13. Cortar solo un carácter del flujo de entrada

$ echo "cutting text from input" | cut -c 1

El comando anterior corta el primer carácter de la entrada estándar y lo muestra en la terminal. En este caso, es ” c “. Cambie su cuerda a algo diferente para entender esto claramente.

14. Cortar caracteres específicos del flujo de entrada

$ echo "cutting text from input" | cut -c 1,3

Este comando cortará solo el primer y tercer caracteres de la cadena de entrada y los mostrará. Puede intentar cortar otros caracteres, pero recuerde no exceder el límite de caracteres de su cadena.

15. Cortar rango de caracteres del flujo de entrada

$ echo "cutting text from input" | cut -c 1-12

En el caso de este comando, “cortar” cortará caracteres que van desde la primera posición hasta la duodécima posición. El resultado será ” cortar texto “. Tenga en cuenta las similitudes entre este comando de corte de Linux y el tercer comando.

16. Cortar solo un carácter del archivo de texto

$ cut -c 1 test.txt

Este comando mostrará solo los primeros caracteres de cada una de las cinco filas de nuestro archivo test.txt. Es equivalente al comando $ cat test.txt | cut -c 1 y proporciona el mismo resultado que obtendríamos al usar la bandera de bytes.

17. Cortar caracteres específicos del archivo de texto

$ cut -c 7,10 test.txt

El comando anterior corta solo los caracteres séptimo y décimo de cada cinco filas. Puede especificar cualquier posición de carácter siempre que se encuentre dentro del rango de caracteres disponibles.

18. Cortar el rango de caracteres del archivo de texto

$ cut -c 1-12 test.txt

Este comando generará del primero al duodécimo carácter de cada línea en el archivo test.txt . El comando de corte en Unix se comporta de la misma manera cuando se corta un rango de caracteres y un rango de bytes.

19. Cortar los primeros 5 caracteres en orden alfabético

$ cut -c 1-5 test.txt | sort

Puede proporcionar la salida del comando de corte como entrada al comando de clasificación para cortar alfabéticamente los primeros cinco bytes de cada fila. El comando de ordenación no requiere ninguna opción al ordenar alfabéticamente.

20. Corta los primeros 5 caracteres en orden inverso

$ cut -c 1-5 test.txt | sort -r

Este comando de corte cortará los primeros cinco caracteres de cada fila y los mostrará después de ordenarlos al revés. Observe cómo la salida del comando de corte se envía al comando de clasificación mediante una tubería.

21. Corte desde el quinto carácter hasta el final del flujo de entrada

$ echo "cutting text from input" | cut -c 5-

El comando de corte anterior cortará el texto desde el quinto byte hasta el final de la cadena. Puede ser beneficioso cuando necesita cortar desde una posición de carácter específica hasta el final del flujo de entrada. Simplemente cambie el valor después de b mientras mantiene el seguimiento activado.

22. Corte desde el quinto carácter hasta el final del archivo

$ cut -c 5- test.txt

Este comando comenzará a cortar cada una de las cinco filas del archivo test.txt desde la posición del quinto carácter y terminará después de llegar al final de cada línea. El guión final (-) es obligatorio para este tipo de operación.

23. Cortar una cantidad específica de caracteres comenzando desde la primera posición

$ echo "cutting text from input" | cut -c -5

Este comando solo cortará las primeras cinco posiciones de caracteres de nuestra entrada. Puede cortar desde el carácter inicial a cualquier otra posición de carácter simplemente sustituyendo el valor -c . Recuerde agregar el guión anterior (-) de lo contrario, la salida no será la misma que esperaba.

24. Cortar desde el primer carácter a una posición especificada del archivo

$ cut -c -5 test.txt

Este comando de corte en Unix cortará los primeros cinco caracteres de cada línea del archivo test.txt. Observe cómo se usa el guión (-) para los comandos 21-24 en esta lista.

Cortar texto de columnas usando campos y delimitadores

El comando de corte permite a los usuarios cortar secciones de un texto con mucha facilidad. Para esto, necesitamos usar tanto el indicador de corte d como el f. La bandera d significa delimitadores y f para campos. Los delimitadores son caracteres especiales que separan una sección de un texto de otras. Los ejemplos comunes incluyen ‘-‘, ‘:’ y ”” (espacio). El archivo de referencia que estamos usando tiene ‘:’ como separador.

Cortar campos y delimitadores

25. Cortar la primera sección del flujo de entrada

$ echo "Let's cut this input stream section by section" | cut -d ' ' -f 1

El comando de corte anterior cortará la primera sección de texto ( “Vamos” en este caso) del flujo de entrada. Tenga en cuenta que el valor del indicador delimitador -d es un espacio único. Pruébelo con texto delimitado por dos puntos y vea lo que sucede por sí mismo.

26. Cortar la primera sección de un archivo

$ cut -d ':' -f 1 test.txt

Este comando devolverá las primeras columnas de cada fila dentro de nuestro archivo de referencia e imprimirá el nombre de los cinco países. El valor proporcionado a la bandera delimitador era dos puntos porque así es como nuestro archivo separa las columnas.

27. Cortar secciones específicas del flujo de entrada

$ echo "Let's cut this input stream section by section" | cut -d ' ' -f 1,2,3

Aquí le indicamos a cut que muestre solo los primeros tres campos de la cadena de entrada dada. Se realiza mediante una matriz de posiciones de campo separadas por comas. La salida de este comando será ‘ Cortamos esto ‘.

28. Cortar secciones específicas de un archivo

$ cut -d ':' -f 1,2,3 test.txt

Este comando también proporcionará el mismo tipo de salida que el comando anterior. Aquí, cortar solo funciona en un archivo en lugar de la entrada estándar, eso es todo. Debe mostrar el nombre, capital y moneda de cada país en la lista. Sin embargo, observe la diferencia entre sus delimitadores (espacio frente a dos puntos).

29. Cortar rango de campos del flujo de entrada

$ echo "Let's cut this input stream section by section" | cut -d ' ' -f 1-5

El comando anterior cortará los primeros cinco campos de la cadena y lo mostrará en la terminal. Los apóstrofos son obligatorios cuando se utiliza el espacio como delimitador entre varios campos.

30. Cortar rango de campos de un archivo

$ cut -d ':' -f 1-3 test.txt

Este comando de corte cortará cada una de las primeras tres columnas de nuestro archivo de texto y lo mostrará como la salida. Debería mostrar el mismo resultado que proporciona el comando que precede al anterior. Los apóstrofos no son obligatorios para caracteres como – o:.

31. Cortar cada entrada de un campo específico y enumerarlas alfabéticamente

$ cut -d ':' -f 1 test.txt | awk '{print $1}' | sort

Suponga que necesita averiguar los nombres de los cinco países en nuestra lista en orden alfabético, puede utilizar el comando anterior para hacer esto. Enumerará los países ordenados alfabéticamente. Una sustitución en el valor de la bandera f le permitirá hacer esto en otros campos por igual.

32. Cortar cada entrada de un campo y enumerarlas en orden alfabético inverso

$ cut -d ':' -f 1 test.txt | awk '{print $1}' | sort -r

Este comando hace la misma operación que el anterior, solo ordena las entradas de manera inversa, eso es todo. La salida se cambia aquí debido a que el indicador -r se pasa a ordenar.

33. Corte desde un campo fijo hasta el final del flujo de entrada

$ echo "Let's cut this input stream section by section" | cut -d ' ' -f 2-

Este comando de corte cortará desde el segundo campo hasta el final de la cadena. Puede resultar beneficioso cuando necesite cortar desde una posición específica hasta el final de la entrada. Puede cambiar el valor de -f mientras mantiene el final – activado para cortar desde diferentes campos.

34. Cortar desde un campo fijo hasta el final de un archivo

$ cut -d ':' -f 2- test.txt

Cuando se usa así, el comando de corte comenzará a cortar desde el campo especificado y continuará hasta el final de cada línea. En este caso, imprimirá el capital, la moneda y la población de cada uno de los cinco países de la lista.

35. Cortar un número específico de columnas comenzando desde la primera

$ echo "Let's cut this input stream section by section" | cut -d ' ' -f -5

Este comando solo cortará los primeros cinco campos de la entrada dada. Puede cortar desde la columna inicial a cualquier otra posición de columna simplemente sustituyendo el valor -f. Sin embargo, debe agregar el guión anterior (-); de lo contrario, la salida no coincidirá con sus expectativas.

36. Cortar algunas columnas específicas de un archivo empezando por la primera

$ cut -d ':' -f -2 test.txt

Este comando de corte de Linux comenzará a cortar nuestro archivo test.txt de la primera columna y terminará después de que haya terminado de cortar el segundo comando. Entonces, la salida de este comando simplemente mostrará el nombre de cada país y sus respectivas capitales.

37. Cortar varios campos de archivos CSV

$ cut -d ',' -f 1,2 file.csv

El comando de corte a menudo demostrará ser una herramienta viable cuando trabaje con documentos CSV masivos. El comando anterior, por ejemplo, cortará las dos primeras columnas de un archivo CSV separado por comas llamado file.csv.

38. Cortar campos específicos de archivos CSV y ordenarlos en orden inverso

$ cut -d ',' -f 1,3,5 file.csv | sort -r

El comando anterior cortará la primera, tercera y quinta columna de un archivo CSV separado por comas llamado file.csv y mostrará la salida en orden inverso.

Algunos comandos de corte de Linux misceláneos para expertos

El comando cut se puede utilizar para el procesamiento avanzado de archivos utilizándolo con los filtros adecuados y otros . A continuación, veremos algunos de estos comandos que pueden beneficiarlo a largo plazo.

Comando Misc Linux Cut en Unix

39. Inspeccione el archivo passwd usando el comando Cortar

$ cut -d ':' -f1 /etc/passwd

El archivo passwd almacenado dentro de / etc en la mayoría de los sistemas contiene información muy sensible sobre el sistema y sus usuarios. Puede inspeccionar este archivo rápidamente usando el comando cortar. El delimitador ‘:’ se usa ya que las columnas de este archivo se separan usándolo. Cambie el valor de -f para monitorear diferentes campos.

40. Cortar campos específicos y mostrar solo las entradas únicas

$ cut -d ':' -f 3 test.txt | uniq -u

Este comando de corte en Linux cortará la tercera columna del archivo test.txt y solo mostrará las entradas únicas. Entonces, para este archivo, la salida contendrá solo tres monedas, a saber, euro, lira y yen.

41. Cortar todos los bytes del flujo de entrada excepto los especificados

$ echo "Let's cut this input stream section by section" | cut -b 1,3,5,7 --complement

Este comando de corte cortará todos los caracteres de la cadena de entrada dada excepto los suministrados a -b . Por lo tanto, las posiciones de bytes primero, tercero, quinto y séptimo se omitirán de la salida.

42. Cortar todos los bytes de un archivo excepto los especificados

$ cut -b 2,4,6 test.txt --complement

Cuando se usa de esta manera, el comando cut cortará todos los bytes del archivo test.txt excepto el mencionado en el comando. Por lo tanto, la salida no contendrá el segundo, cuarto y sexto bytes de cada línea.

43. Cortar todos los caracteres del flujo de entrada excepto los especificados

$ echo "Let's cut this input stream section by section" | cut -c 1,3,5,7 --complement

Este comando se abstiene de cortar el primer, tercero, quinto y séptimo caracteres de la cadena de entrada y en su lugar corta todos los demás caracteres excepto estos cuatro.

44. Cortar todos los caracteres de un archivo excepto los especificados

$ cut -c 2,4,6 test.txt --complement

En el caso de este comando, la salida contendrá todos los caracteres de los archivos test.txt excepto los mencionados. Por lo tanto, los caracteres segundo, cuarto y sexto no se mostrarán.

45. Cortar todas las secciones de entrada excepto las especificadas

$ echo "Let's cut this input stream section by section" | cut -d ' ' -f 1,3,5 --complement

El comando anterior generará la cadena ” cortar la entrada sección por sección “. Por lo tanto, mostrará todas las secciones de entrada sin las mencionadas después de la bandera de campo.

46. Cortar todas las columnas de un archivo excepto las especificadas

$ cut -d ':' -f 2,3 test.txt --complement

Este comando cortará solo la primera y la última columna del archivo test.txt . Por lo tanto, puede deseleccionar fácilmente algunos campos al procesar documentos tabulares grandes con la marca de complemento.

47. Cortar una sección de entrada e invertirla en caracteres

$ echo "Let's cut this input stream section by section" | rev | cut -d ' ' -f 1,3

El comando de Linux anterior cortará la primera y tercera sección de la entrada y las invertirá en caracteres. Observe cómo la salida de un comando se alimenta como entrada a otros comandos.

48. Cortar columnas específicas en un archivo e invertirlas en caracteres

$ cut -d ':' -f 1,3 test.txt | rev

Este comando solo cortará los campos especificados del archivo test.txt y mostrará el resultado de forma inversa a los caracteres.

49. Modificar el delimitador de salida del comando Cortar

$ echo "A,comma,separated,list,for,demonstration,purposes" | cut -d ',' -f 1- --output-delimiter=' '

Cortar nos permite modificar el delimitador de salida al mostrar el resultado. El comando anterior corta todas las secciones de la lista separada por comas pero reemplaza las comas con espacios cuando muestra el resultado.

50. Ejemplo de comando Cortar + Sed con delimitador de tabulación

$ sed 's/:/\t/g' test.txt | cut -f 1-4

El último comando de corte de nuestra lista utiliza la poderosa y poderosa utilidad sed para reemplazar los dos puntos en nuestro archivo con pestañas. Puede reemplazar \ t con otros caracteres como – o; para cambiar a un delimitador de salida de su elección.

Pensamientos finales

El comando de corte en Unix es una herramienta versátil que puede brindar numerosos beneficios a los usuarios que necesitan procesar archivos grandes con frecuencia. Hemos descrito los 50 mejores comandos de corte de Linux para ayudarlo a familiarizarse con esta fantástica utilidad. Debe probarlos individualmente y realizar modificaciones en las distintas opciones disponibles. Eso le ayudará a comprender las diferentes variaciones del comando de corte en profundidad. Con suerte, hemos tenido éxito en nuestra búsqueda para ayudarlo tanto como sea posible. Quédese con nosotros para obtener más próximas .

Leave a Comment

Your email address will not be published. Required fields are marked *