El comando de corte de Linux es uno de los comandos útiles para trabajar con datos de cadenas y contenido de archivos. Se utiliza principalmente para cortar contenido de datos tabulares o archivos CSV. Cada línea del archivo se puede cortar y los datos requeridos se pueden recuperar fácilmente usando el comando «cortar». También se puede utilizar para cortar texto por delimitador o carácter o posición de byte. Este comando tiene muchas opciones para cortar datos del texto o archivo de diferentes formas. En este tutorial se muestra cómo se puede usar el comando de corte con diferentes opciones usando varios ejemplos.
Sintaxis:
El valor de OPCIÓN es obligatorio para el comando `cut` y el nombre de ARCHIVO es opcional. Si omite el nombre del archivo en el comando, tomará datos de la entrada estándar. Pero si omite el valor de OPCIÓN en el comando de corte, se generará el error.
Opciones:
Etiqueta de opción | Descripción |
-b o –byte = LIST | Seleccione los bytes particulares. |
-c o –character = LIST | Seleccione los caracteres particulares. |
-d o –delimiter = DELIM | Seleccione el valor DELIM como delimitador. El delimitador predeterminado es TAB. |
-f o –fields = LIST | Seleccione los campos particulares |
–complement | Úselo para complementar la salida |
-s o –only-delimited | Omita la líneas que no contienen delimitador. |
–output-delimiter = STRING | Usa el valor STRING como delimitador de salida. |
-z o –zero-terminado | Use NULL como delimitador de línea. |
Ejemplo-1 : Cortar por bytes
El siguiente comando de corte dividirá los datos de entrada estándar en función de los bytes definidos. Aquí, 3, 4, 5 y 6 se definen como bytes. La salida se generará según la entrada estándar. Presione CTRL + D para salir del comando.
Salida:
Aquí, la entrada es «Me gusta programar» y la salida es «Me gusta» según los bytes mencionados.
Cree un archivo de texto llamado «productlist.txt» con el siguiente contenido para aplicar el comando `cut`. Use TAB para separar los campos del contenido del archivo.
01 Lápiz $ 2
02 Lápiz $ 1.5
03 Borrador $ 1
Ejecute el siguiente comando para recuperar solo el ID de producto. Aquí, los bytes se dan como un rango, ‘1-2 ′ para cortar los datos.
Salida:
Ejemplo-2: Cortar por caracteres
Puede generar la misma salida usando la opción -c, los que se muestran en los ejemplos anteriores. Por lo tanto, no hay una diferencia particular entre la salida de -b y – c opciones del comando de corte. Ejecute el siguiente comando para mostrar el uso de la opción -c. Aquí, 4- se usa como un valor de opción que cortará desde la posición 4 a todos los caracteres restantes de cada línea. También puede usar el signo negativo delante del valor como -4, luego se cortará desde el principio a 4 posiciones.
Salida:
Los primeros tres caracteres se omiten en la salida.
Ejemplo-3: Cortar por delimitador y campos
Cree un archivo CSV llamado ‘Students.csv’ con el siguiente contenido para mostrar el uso del delimitador.
1002, Micheal, EEE, 3.99
1003, Asraful Haque, BBA, 3.85
1004, Momotaj Khan, inglés, 3.20
Ejecute el siguiente comando para imprimir el nombre del estudiante y CGPA desde el archivo Students.csv. De acuerdo con el contenido del archivo, los campos 2 y 4 contienen el nombre del estudiante y CGPA. Entonces, se usan dos opciones en este comando para mostrar el resultado. Uno es el delimitador, -d, que es ‘,’ aquí y otro es la opción de campo, -f.
Salida:
Si desea imprima dos o más columnas secuenciales de cualquier archivo de datos tabulares o CSV, entonces puede definir los campos como un rango. El rango de valor de campo se usa en el siguiente comando. Aquí, todos los campos del 2 al 4 se imprimirán como salida.
Salida:
Ejemplo-4: Cortar por complemento
–la opción de complemento se usa para generar la salida opuesta del comando . En el siguiente comando, se utiliza el archivo productlist.txt que se crea en el primer ejemplo. Aquí, la opción -f cortará el primer campo y la opción –complement imprimirá todos los demás campos del archivo omitiendo el primer campo.
$ cut –complement -f 1 productlist.txt
Resultado:
Ejemplo-5: Cortar por delimitador de salida
Esta opción se usa para generar la salida usando un delimitador particular. El archivo Students.csv creado anteriormente se usa en el siguiente comando. «,» Es el delimitador predeterminado de cualquier archivo CSV. El siguiente comando usa ‘:’ como valor delimitador de salida.
$ cut -d «,» -f 1- 3 Students.csv –output-delimiter = «:»
Salida:
Después de ejecutar el comando, el delimitador de entrada ‘,’ será reemplazado por el delimitador de salida ‘:’ y los primeros tres campos se imprimirán separando ‘:’.
Ejemplo-6: Uso de cortar con comando pipe
El comando Cut puede tomar la entrada de cualquier archivo o de la entrada del usuario. Pero el texto de entrada se puede enviar al comando de corte usando la tubería. El siguiente comando muestra el uso del comando de corte con la tubería. Aquí, el comando echo será el texto de entrada para cortar el comando y el comando cut cortará los campos 2 y 3 según el delimitador.
Salida:
Ejemplo -7: Guardar la salida del comando de corte en un archivo
Si lo desea, también puede guardar la salida del comando de corte en cualquier archivo de texto. El siguiente comando tomará el contenido del archivo Students.csv como entrada, cortará el segundo campo basado en el delimitador e imprimirá la salida en un archivo de texto llamado ‘student_names.txt’.
Salida:
Conclusión:
Los usos más comunes del comando cut se intentan explicar en este tutorial usando lo anterior ejemplos. Espero que los lectores eliminen los usos del comando cut después de ejercitar los ejemplos anteriores.