Bourne Again Shell (Bash) está disponible para todos los sistemas operativos GNU y Linux. La mejor parte de usar Bash es la flexibilidad que obtiene al navegar por los menús y trabajar con archivos y directorios en la línea de comandos. Bash ofrece varios comandos útiles, y uno de ellos es el comando de corte que ayuda a imprimir las secciones seleccionadas de una línea determinada. Idealmente, si desea dividir una línea determinada, su mejor opción es usar el comando de corte.
Trabajar con el comando Cortar
Hay varios momentos en los que desearía obtener una subcadena de una línea determinada en la terminal. En ese caso, el comando de corte funciona perfectamente y ofrece varias opciones para dividir las cadenas. Puede abrir la página de ayuda para ver las distintas opciones a su disposición. Además, puede utilizar el comando de corte directamente en los scripts de Bash o en la línea de comandos.
Analicemos las diversas opciones de comandos de corte en detalle:
- -b: se usa cuando necesita seleccionar solo los bytes.
- -c: se usa cuando necesita seleccionar solo los caracteres.
- -d: utiliza el delimitador especificado para las secciones seleccionadas de la cadena.
- -f: Se utiliza para definir qué campo extraer.
- -s: Especifica extraer solo las líneas que contienen el delimitador.
Ahora, veamos algunos ejemplos prácticos.
1. Extrayendo solo los bytes
El indicador -b especifica que cortar solo selecciona los bytes especificados. Puede usarlo cuando trabaje con un archivo o ingrese la cadena para extraer usando un comando como echo.
Por ejemplo, para combinar echo con cut para extraer caracteres específicos de la cadena en función de su recuento de bytes, podríamos tener un ejemplo como el siguiente:
El comando dado extrae los bytes en función del recuento especificado a partir de 1.
Alternativamente, puede usar el comando cortar, siempre que agregue el nombre del archivo que contiene las cadenas. Nuestro archivo para este ejemplo es cutdemo.txt.
Podemos extraer las subcadenas con el siguiente comando:
También puede dar un rango cuando trabaje con la opción -b. Por ejemplo, podríamos dar un rango en el comando anterior y optar por extraer los bytes del 1 al 4 y del 6 al 10. Nuestro nuevo comando es como se muestra:
Tenga en cuenta cómo la cadena extraída se basa en el rango especificado.
2. Extracción de los caracteres solamente
Hay diferentes formas en las que puede usar la opción -c .
Puede optar por extraer un carácter dado especificando la posición del carácter como en el siguiente ejemplo:
Aún así, puede extraer los caracteres de la posición especificada hacia atrás cuando agrega el signo negativo. En el siguiente ejemplo, comenzamos desde la cuarta posición para todos los campos.
Además, puede especificar comenzar a extraer desde una posición determinada o hasta una posición final determinada.
El siguiente ejemplo extrae la cadena desde la sexta posición hasta el final de la cadena.
3. Trabajar con delimitadores
Puede especificar un delimitador que ayude a dividir la cadena. Por ejemplo, puede optar por dividir la cadena en función de comas, dos puntos, etc. Los delimitadores funcionan mejor cuando se especifica un campo.
Especificación de los campos
Si queremos especificar qué campos incluir, podríamos usar el indicador -f . Por ejemplo, al extraer de un archivo dado, puede especificar el campo uno como -f 1. El siguiente ejemplo divide la cadena según el delimitador » » y para el campo 1.
Para varios campos, especifique los números de campo.
También puede especificar el delimitador de salida mediante la opción –output-delimiter=$’delimiter’ . Por ejemplo, podemos especificar que la salida use un asterisco (*) como delimitador de salida usando el siguiente comando:
En el resultado anterior, podemos notar que la última línea no contiene el delimitador especificado, pero se imprimió. Para evitar imprimir líneas que no contengan el delimitador, use el indicador -s . Nuestro nuevo comando y salida es como se muestra en la siguiente ilustración:
Conclusión
Trabajar con el comando de corte es fácil y le brinda la flexibilidad para lograr más cuando trabaja con cadenas. Hemos visto las diversas formas en que puede usarlo para dividir las cadenas usando las diversas opciones. Gracias a esta guía, ahora comprende el uso del comando cut bash.