从文件列表中并行运行shell脚本



我有一个脚本列表做自己的事情(他们实际上是Rscripts读取修改和编写文件),像这样:

## Script 1
echo "1" > file1.out
## Script 2
echo "2" > file2.out
## Script 3
echo "3" > file3.out

保存在不同的脚本中,如下所示:

## Writing script 1
echo "echo "1" > file1.out" > script1.task
## Writing script 2
echo "echo "2" > file2.out" > script2.task
## Writing script 3
echo "echo "3" > file3.out" > script3.task

是否有一种方法可以使用文件名并行运行所有这些脚本?在循环中,它看起来像这样:

for task_file in *.task
do
sh ${task_file}
done

如果只有3个字符,则使用&

但是如果你有1000:

seq 10000 | parallel 'echo {} > file{}.out'

根据Andre Wildberg和user1934428的建议,这里有一个使用&的解决方案:

for task_file in *.task
do
sh ${task_file} &
done
wait

相关内容

  • 没有找到相关文章

最新更新