我如何使用 diff 参数并行运行脚本,从文件中获取输入

我如何使用 diff 参数并行运行脚本,从文件中获取输入

abc.txt我在 Linux 机器上有一个文件,如下所示:

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

我必须调用script1.ksh第三个字段作为参数,并行运行所有脚本,如果任何脚本失败,它应该将最后一个字段从待处理更新为失败/成功。

我已使用 while read 行将第三个字段从文件中提取到变量“var1”中,并运行脚本并将第五个字段从待处理更新为成功/失败。但所有脚本都是串行运行而不是并行运行

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

答案1

只需在后台运行脚本即可:

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

相关内容