Cómo extraer parte de una cadena usando comandos bash cortado y dividido

Cómo extraer parte de una cadena usando comandos bash cortado y dividido
Mientras se programan, a menudo hay cuando necesitamos extraer una parte específica de una cadena de un texto más grande. Esto se puede hacer utilizando diversas técnicas y herramientas, y uno de los métodos más populares es el uso de comandos bash/corte/dividido en Linux/Unix.

Estos comandos son potentes y versátiles y pueden usarse para extraer partes específicas de una cadena basada en varios delimitadores como espacios, comas y semicolones. Este artículo explorará cómo extraer partes de una cadena utilizando comandos bash/corta/divididos y proporcionará ejemplos prácticos para ayudarlo a comprender mejor cómo usarlas de manera efectiva.

El comando de corte

El comando de corte se usa para extraer secciones de cada línea de un archivo o cadena. Es un comando simple y poderoso que puede extraer campos basados ​​en un delimitador o un carácter específico. La sintaxis para el comando CUT es la siguiente:

CUT -D [delimitador] -f [campo] [nombre de archivo]

Aquí, la opción -d especifica el delimitador utilizado en el archivo de entrada, y la opción -f especifica los campos que se extraerán. El argumento del nombre de archivo es el archivo de entrada a procesar. Por ejemplo, supongamos que tenemos un archivo llamado TestFile.txt, con el siguiente contenido:

BMW, M5
Lexus, LS470
Volvo, x70

Si queremos extraer el segundo campo de cada línea, podemos usar el siguiente script de shell:

#!/bin/bash
archivo de prueba de gato.TXT
Echo "Aquí está la parte extraída:"
CUT -D ',' -f 2 TestFile.TXT

A continuación se muestra la salida del código anterior que muestra el archivo y su parte extraída:

El comando dividido

El comando dividido se usa para dividir una cadena en una matriz de subcadenas basadas en un delimitador. Es un comando incorporado en Bash que se puede usar para extraer parte de una cadena. La sintaxis para el comando dividido es la siguiente:

Ifs = [delimitador] leer -ra [array_name] <<< "$[string]"

Aquí, la variable IFS especifica el delimitador utilizado en la cadena, el comando Read lee la entrada y la divide en una matriz, y el <<< operator is used to pass the string as input.

Por ejemplo, supongamos que tenemos una cadena llamada "BMW, M5". Si queremos extraer el segundo campo, podemos usar el siguiente script bash:

#!/bin/bash
archivo de prueba de gato.TXT
Echo "Aquí está la parte extraída:"
Ifs = ',' Read -ra Fields <<< "BMW,M5"
echo $ campos [1]

El comando Bash Split también se puede usar para extraer múltiples campos de una cadena utilizando múltiples variables en el comando Read.

Conclusión

Bash proporciona varios métodos para extraer parte de una cadena, incluidos los comandos de corte y división. El comando CUT se puede usar para extraer campos basados ​​en un delimitador o un carácter específico, mientras que el comando dividido se puede usar para dividir una cadena en una matriz de subcadenas basadas en un delimitador. Comprender cómo extraer parte de una cadena es una habilidad importante para cualquier persona que trabaje con scripts bash.