Técnicas esenciales de sustitución de cadenas en Bash
La sustitución de cadenas en Bash ofrece una variedad de técnicas que puedes utilizar para manipular cadenas. Exploremos algunas de las técnicas esenciales:
Puedes extraer una subcadena específica de una cadena más larga utilizando la siguiente sintaxis:
${variable_name:start_index:length}
Aquí, start_index
es la posición donde comienza la subcadena y length
es el número de caracteres a extraer.
Ejemplo:
text="LabEx is a leading AI research company"
echo ${text:8:2} ## Output: is
Coincidencia y reemplazo de patrones
Para reemplazar un patrón dentro de una cadena, puedes utilizar la siguiente sintaxis:
${variable_name/pattern/replacement}
Esto reemplazará la primera aparición del pattern
con el valor de replacement
.
Ejemplo:
text="LabEx is a leading AI research company"
echo ${text/LabEx/LabAI} ## Output: LabAI is a leading AI research company
También puedes utilizar la sintaxis //
para reemplazar todas las apariciones del patrón:
${variable_name//pattern/replacement}
Ejemplo:
text="LabEx is a leading AI research company from LabEx"
echo ${text//LabEx/LabAI} ## Output: LabAI is a leading AI research company from LabAI
Expansión del nombre de la variable
La sustitución de cadenas en Bash también te permite expandir nombres de variables dentro de una cadena. Esto puede ser útil cuando necesitas acceder dinámicamente a los valores de las variables.
Ejemplo:
name="John"
echo "Hello, ${name}!" ## Output: Hello, John!
Sustitución condicional
La sustitución de cadenas en Bash admite operaciones condicionales, donde puedes proporcionar valores alternativos en función de la existencia o no de una variable.
${variable_name:-default_value}
${variable_name:+alternative_value}
La primera forma, ${variable_name:-default_value}
, utilizará el default_value
si la variable_name
no está definida o está vacía.
La segunda forma, ${variable_name:+alternative_value}
, utilizará el alternative_value
si la variable_name
está definida y no está vacía.
Ejemplo:
name=""
echo "Hello, ${name:-Guest}!" ## Output: Hello, Guest!
name="John"
echo "Hello, ${name:+Mr. $name}!" ## Output: Hello, Mr. John!
Estas son solo algunas de las técnicas esenciales de sustitución de cadenas en Bash. En la siguiente sección, exploraremos aplicaciones prácticas de estas técnicas.