如何并行化UNIX for循环?[closed]

unhi4e5o  于 2022-11-04  发布在  Unix
关注(0)|答案(1)|浏览(203)

**已关闭。**此问题需要debugging details。当前不接受答案。

编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
四个月前关门了。
Improve this question
我为这个有点简单的问题道歉(我是UNIX编程的新手)。我正在使用HPC系统,并希望在for循环中并行化一个任务(在本例中,一个简单的解压缩将应用于多个文件)。我该怎么做呢?我以为通过请求多个内核,并行化将自动启动,但实际上程序是按顺序运行的。非常感谢!

for i in *.zip; do unzip "$i" -d "${i%%.zip}"; done
jutyujz0

jutyujz01#

在bash中,它看起来像这样:

for item in bunch-of-items; do
  (
    the loop body
    is here
  ) &
done

其中括号将命令分组,整个循环体置于后台。
如果程序的其余部分需要所有后台作业才能完成,请使用wait命令。

相关问题