Loop Anidados

Clase 26 de 43Curso de Programación en Bash Shell

Resumen

Domina los loops anidados en Bash para automatizar tareas repetitivas con precisión. Aprenderás a usar un for primario que recorre archivos y un for secundario que itera un rango {1..4}, concatenando resultados con un simple echo. El enfoque es directo, práctico y aplica a entornos como Ubuntu con scripts .sh.

¿Qué son los loops anidados en Bash y para qué sirven?

Los loops anidados son una sentencia de iteración dentro de otra. Funcionan de forma similar a los IF anidados, pero con bucles: un bucle externo recorre una lista y un bucle interno procesa cada elemento con otra lista o rango. Así se multiplican combinaciones y se automatiza trabajo repetitivo.

  • Sentencia de iteración: estructura que repite acciones con do y done.
  • For primario: recorre los archivos del directorio actual.
  • For secundario: itera un rango definido como {1..4}.
  • Lista de valores: puede ser un conjunto de archivos o números.
  • Concatenación: une variables para formar salidas claras con echo.
  • Semejanza con IF anidados: lógica anidada, pero con bucles.

¿Cómo se construye el for primario y el for secundario?

La secuencia parte de crear un nuevo programa .sh, imprimir un título y luego armar el bucle externo e interno. Se enfatiza reutilizar conceptos previos del for y mantener el formato con do/done para cada bucle.

Pasos clave: - Crear un script nuevo, por ejemplo, anidados.sh. Guardar y salir con :wq. - Imprimir un título con echo: "loops anidados". - Armar el for primario para recorrer archivos en el directorio. - Dentro, construir el for secundario con un rango {1..4}. - Usar echo para concatenar el nombre del archivo y el número del rango. - Cerrar cada bucle con done.

Ejemplo de fragmento en Bash:

echo "loops anidados"

# for primario: recorre archivos del directorio actual
for file in *; do
  # for secundario: recorre un rango del 1 al 4
  for nombre in {1..4}; do
    echo "nombre del archivo: ${file}_${nombre}"
  done
done

Claves técnicas: - for recorre listas como * o {1..4}. - do/done delimitan el bloque de iteración. - echo imprime la concatenación de variables: ${file}_${nombre}.

¿Qué resultado se obtiene y qué aprendizajes clave deja?

Al ejecutar el script, se imprime cada nombre de archivo del directorio cuatro veces, una por cada valor del rango. La salida evidencia que el for interno se repite por cada iteración del for externo, confirmando el patrón de iteración dentro de iteración.

Aprendizajes clave: - Loops anidados: cómo estructurarlos con claridad. - for primario vs. for secundario: responsabilidades separadas y legibles. - Rangos con {1..4}: forma rápida de generar números consecutivos. - Concatenación en Bash: construir mensajes útiles para depurar y documentar. - Buenas prácticas: reutilizar conceptos previos y validar salidas.

¿Tienes otros usos de loops anidados en Bash o variaciones con rangos distintos? Comparte tus ideas y ejemplos en los comentarios.