Gnu-Parallel

為什麼(GNU?)並行會靜默失敗,我該如何解決?

  • October 3, 2014

在對一些模擬數據進行後處理的較大腳本中,我有以下行:

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'到我的登錄腳本,所以我不必再大驚小怪了。

引用自:https://unix.stackexchange.com/questions/35618