como posso executar script paralley com argumentos diff obtendo entrada do arquivo

como posso executar script paralley com argumentos diff obtendo entrada do arquivo

Eu tenho um arquivo abc.txtassim em uma máquina Linux:

abc|yes|50c|1|pending
bcd|no|100c|2|pending
cde|yes|45c|3|pending
def|no|44c|3|pending

Tenho que chamar um script1.kshcom o 3º campo como parâmetro, executar todos os scripts em paralelo e se algum script falhar ele deve atualizar o último campo de pendente para FAILED/SUCCESS.

Eu usei a linha while read para extrair o terceiro campo na variável 'var1' do arquivo e executar o script e atualizar o 5º CAMPO DE PENDENTE PARA SUCESSO/FALHA. mas todos os scripts estão sendo executados em série e não em paralelo

ksh script1.ksh 50c    
ksh script1.ksh 100c    
ksh script1.ksh 45c    
ksh script1.ksh 44c 

Responder1

Basta executar os scripts em 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

informação relacionada