在用於後處理一些模擬資料的較大腳本中,我有以下行:
parallel bnzip2 -- *.bz2
如果我理解parallel
正確(我可能不理解),應該在具有列出的擴展名的所有文件上運行程式的 n 核線程。您可能會注意到我拼錯了命令bunzip2
。我希望這裡出現警告或錯誤訊息,但它會默默地失敗。這是故意的嗎?我以後怎麼才能不被這個困擾呢?
更新:
我的安裝可能parallel
與我想像的不同:
> parallel --version`
parallel: invalid option -- '-'
parallel [OPTIONS] command -- arguments
for each argument, run command with argument, in parallel
parallel [OPTIONS] -- commands
run specified commands in parallel
parallel
我的系統上的手冊頁給了:
parallel(1) parallel(1)
NAME
parallel - run programs in parallel
....
AUTHOR
Tollef Fog Heen
這似乎是不是GNU 版本。
答案1
您對來自 moreutils 的 Tollef 的相似之處感到困惑。看https://www.gnu.org/software/parallel/history.html
您可以簡單地透過以下方式安裝 GNU Parallel:
wget http://git.savannah.gnu.org/cgit/parallel.git/plain/src/parallel
chmod 755 parallel
cp parallel sem
觀看 GNU Parallel 的介紹影片以了解更多資訊: https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1
答案2
(我會對此發表評論,但我缺乏特權。)
您也可以只使用parallel --gnu
.你說Ubuntu 12(.04?)使用Tollef的版本,但它實際上是gnu實現,只是出於某種原因默認使用Tollef的語法。
我添加alias parallel='parallel --gnu'
到我的登入腳本中,這樣我就不必再為它大驚小怪了。