Gnu-Parallel
為什麼(GNU?)並行會靜默失敗,我該如何解決?
在對一些模擬數據進行後處理的較大腳本中,我有以下行:
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 版本。
您對來自 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
(我會對此發表評論,但我缺乏特權。)
您也可以只使用
parallel --gnu
. 您說 Ubuntu 12(.04?) 使用 Tollef 的版本,但它實際上是 gnu 實現,它只是預設為某些原因預設為 Tollef 的語法。我添加
alias parallel='parallel --gnu'
到我的登錄腳本,所以我不必再大驚小怪了。