
Tengo un archivo abc.txt
como este en una máquina Linux:
abc|yes|50c|1|pending
bcd|no|100c|2|pending
cde|yes|45c|3|pending
def|no|44c|3|pending
Tengo que llamar a script1.ksh
con el tercer campo como parámetro, ejecutar todos los scripts en paralelo y, si algún script falla, debería actualizar el último campo de pendiente a FALLADO/ÉXITO.
He utilizado la línea de lectura para extraer el tercer campo en la variable 'var1' del archivo y ejecutar el script y actualizar el 5º CAMPO DE PENDIENTE A ÉXITO/FALLADO. pero todos los scripts se ejecutan en serie, no en paralelo
ksh script1.ksh 50c
ksh script1.ksh 100c
ksh script1.ksh 45c
ksh script1.ksh 44c
Respuesta1
Simplemente ejecute los scripts en segundo plano:
while IFS='|' read -r name yno arg rest; do
ksh script1.ksh "$arg" &&
status=SUCCESS || status=FAILED &&
sed -i "/^$name|/{s/pending/$status/}" file &
done < file