Tengo un file ( data.dat
) que contiene 3 columnas. Quiero leer en dos de ellos con el script de shell y completar el contenido en un file de plantilla. El file se ve así:
12 180 2390 14 177 2210 16 173 2130 ...
Hasta ahora puedo hacer eso con una variable (que es la columna 2 en el file de datos) de la siguiente manera:
for a in `cat data.dat | gawk '{print $2}'`; do sed s/A/$a/ daily.template daily.template > daily.inp done
Ahora también quiero leer en la columna 3 y dar el mismo valor (b) de la misma línea que la columna 2 a la misma plantilla. La plantilla contiene variables llamadas "A" y "B". No puedo hacer un ciclo nested porque no quiero iterar cada valor de a sobre cada valor de b.
¿Cómo puedo conseguir esto?
Adición:
Antes que nada, ¡gracias por toda tu ayuda!
Sí, podría ser más fácil de entender si proporciono más información sobre el file daily.template. Se ve de manera similar a:
dens_column O3 300.00 dens_column h20 B sza A day_of_year 172 output sum ...
A y B deberían replacese en cada ciclo sobre las líneas. La primera columna en data.dat no significa nada, solo muestra el time de una medición y este parámetro no es necesario en "daily.inp". Solo quiero un "daily.inp" para cada línea donde A y B se reemplazan con el valor correspondiente de las columnas 2 y 3 en la línea correspondiente. Entonces un file daily.inp como:
dens_column O3 300.00 dens_column h20 2390 sza 180 day_of_year 172 output sum ...
Luego el siguiente file por separado:
dens_column O3 300.00 dens_column h20 2210 sza 177 day_of_year 172 output sum ...
Y así…