La manipulación de cadenas es una habilidad esencial en Bash scripting. En este tema, aprenderás cómo trabajar con cadenas de texto, incluyendo cómo extraer, modificar y analizar texto. Este conocimiento es fundamental para tareas como el procesamiento de archivos de texto, la generación de informes y la automatización de tareas.

Contenido

Introducción a la Manipulación de Cadenas

En Bash, las cadenas son simplemente secuencias de caracteres. Puedes manipular estas secuencias utilizando una variedad de técnicas y comandos integrados. Aquí hay algunas operaciones comunes que puedes realizar con cadenas:

  • Concatenación
  • Extracción de subcadenas
  • Reemplazo de subcadenas
  • Comparación de cadenas

Operaciones Básicas con Cadenas

Concatenación

La concatenación de cadenas en Bash es simple y directa. Puedes usar el operador + o simplemente colocar las cadenas una al lado de la otra.

#!/bin/bash

# Concatenación usando el operador +
str1="Hola"
str2="Mundo"
str3="$str1 $str2"
echo $str3  # Salida: Hola Mundo

# Concatenación sin operador
str4="Hola"
str5="Mundo"
str6="${str4}${str5}"
echo $str6  # Salida: HolaMundo

Longitud de una Cadena

Puedes obtener la longitud de una cadena utilizando la sintaxis ${#cadena}.

#!/bin/bash

cadena="Hola Mundo"
longitud=${#cadena}
echo "La longitud de la cadena es: $longitud"  # Salida: La longitud de la cadena es: 10

Extracción de Subcadenas

Para extraer una subcadena, puedes usar la sintaxis ${cadena:posición:longitud}.

#!/bin/bash

cadena="Hola Mundo"
subcadena=${cadena:0:4}
echo $subcadena  # Salida: Hola

subcadena=${cadena:5:5}
echo $subcadena  # Salida: Mundo

Reemplazo de Subcadenas

Puedes reemplazar una subcadena dentro de una cadena utilizando la sintaxis ${cadena/antiguo/nuevo}.

#!/bin/bash

cadena="Hola Mundo"
nueva_cadena=${cadena/Mundo/Amigos}
echo $nueva_cadena  # Salida: Hola Amigos

Para reemplazar todas las ocurrencias de una subcadena, usa la sintaxis ${cadena//antiguo/nuevo}.

#!/bin/bash

cadena="Hola Mundo Mundo"
nueva_cadena=${cadena//Mundo/Amigos}
echo $nueva_cadena  # Salida: Hola Amigos Amigos

Comparación de Cadenas

Puedes comparar cadenas utilizando los operadores ==, !=, <, y > dentro de una sentencia [[ ]].

#!/bin/bash

cadena1="Hola"
cadena2="Mundo"

if [[ $cadena1 == $cadena2 ]]; then
    echo "Las cadenas son iguales"
else
    echo "Las cadenas son diferentes"
fi

Ejercicios Prácticos

Ejercicio 1: Concatenación de Cadenas

Descripción: Escribe un script que tome dos cadenas como entrada y las concatene.

Solución:

#!/bin/bash

read -p "Introduce la primera cadena: " cadena1
read -p "Introduce la segunda cadena: " cadena2

resultado="${cadena1}${cadena2}"
echo "La cadena concatenada es: $resultado"

Ejercicio 2: Extracción de Subcadenas

Descripción: Escribe un script que tome una cadena y dos números como entrada y extraiga una subcadena basada en esos números.

Solución:

#!/bin/bash

read -p "Introduce una cadena: " cadena
read -p "Introduce la posición inicial: " posicion
read -p "Introduce la longitud de la subcadena: " longitud

subcadena=${cadena:posicion:longitud}
echo "La subcadena es: $subcadena"

Ejercicio 3: Reemplazo de Subcadenas

Descripción: Escribe un script que tome una cadena y dos subcadenas como entrada y reemplace todas las ocurrencias de la primera subcadena con la segunda.

Solución:

#!/bin/bash

read -p "Introduce una cadena: " cadena
read -p "Introduce la subcadena a reemplazar: " antiguo
read -p "Introduce la nueva subcadena: " nuevo

nueva_cadena=${cadena//${antiguo}/${nuevo}}
echo "La nueva cadena es: $nueva_cadena"

Conclusión

En esta sección, has aprendido cómo manipular cadenas en Bash, incluyendo cómo concatenar, extraer, reemplazar y comparar cadenas. Estas habilidades son fundamentales para cualquier tipo de procesamiento de texto y te serán útiles en una amplia variedad de scripts y tareas automatizadas. Asegúrate de practicar los ejercicios para reforzar tu comprensión y prepárate para el siguiente tema sobre técnicas avanzadas de scripting.

© Copyright 2024. Todos los derechos reservados