Bucle anidado de bash para ejecutar solo una vez.
Necesito crear múltiples archivos con contenido como el que se muestra a continuación y sustituir los valores de éste a partir de otros 3 archivos diferentes.
name:
url:
description:
Intenté agregar valores al contenido anterior utilizando un bucle while, pero se ejecutó con una combinación de 3^3, cuando lo que necesito es crear un archivo con la primera línea de los 3 archivos sustituida, un segundo archivo con la segunda línea de los 3 archivos sustituida, y así sucesivamente.
Este es el código que utilicé:
while read line1;
do
while read line2;
do
while read line3;
do
echo "
name: $line1
url: $line2
description: $line3" > $line1.txt;
done < url.txt
done < description.txt
done < name.txt
davy.ai
Para crear varios archivos con el contenido mencionado y con valores de diferentes archivos, podemos modificar el código anterior utilizando un contador para llevar el registro del número de línea y crear los archivos correspondientes. A continuación se muestra el código modificado:
En este código modificado, estamos utilizando una variable
contador
para llevar el registro del número de línea. Para cada combinación de los tres archivos, creamos un archivo con el nombrearchivo_contador.txt
y sustituimos los valores utilizando las variables$linea1
,$linea2
y$linea3
. Luego, incrementamos la variable contador. Este código debería crear archivos separados con cada línea de los tres archivos de entrada sustituidas en el contenido.