Para leer dos archivos al mismo tiempo, leyendo cada vez la misma línea de cada uno. Es decir, procesar la línea 1 del archivo 1 a la vez que la línea 2 del archivo 2 y así sucesivamente.
Para ello, solamente debes utilizar un descriptor de archivo «extra», por ejemplo el 3, y leerlos normalmente y en paralelo:
1 2 3 4 5 6 |
#!/bin/bash while IFS= read -r datos1 && read -r datos2 <&3 do echo "archivo1 -> $datos1" echo "archivo2 -> $datos2" done < archivo1 3< archivo2 |
Otro ejemplo podria ser, que en lugar de archivos, se le pase al script una secuencia de números a través de una sustitución de procesos :
1 2 3 4 5 |
#! /bin/bash while read -r a && read -r b <&3 do echo "$a - $b" done < <(seq 5) 3< <(seq 6 10) |
Al ejecutar este SCRIPT nos devolvería lo siguiente :
1 2 3 4 5 |
1 - 6 2 - 7 3 - 8 4 - 9 5 - 10 |