跳至內容

GNUparallel

出自Taiwan Tongues 台語維基
於 2025年8月22日 (五) 18:40 由 TaiwanTonguesApiRobot留言 | 貢獻 所做的修訂 (從 JSON 檔案批量匯入)

(差異) ←上個修訂 | 已批准修訂 (差異) | 最新修訂 (差異) | 下個修訂→ (差異)

GNUparallel是用著 Linux 佮其他類 Unix 作業系統的命令列驅動的實用工具,伊允准使用者並列的執行 shell 指令碼。GNU parallel 是 Ole Tange 用 Perl 寫的自由軟體。伊可在 GPLv 三條款落去得著。GNU parallel 會使佇遠端侍服器頂懸執行作業,伊使用 ssh 佮遠端的機器進行通信。

用法

上捷用的用法是代替 shell 迴箍,比如將變做是下形式:

遮的檔案 ` list ` 包括予 ` do _ something ` 的實際參數,啊若遮的 ` | process _ output ` 會當省起來。

使用 parallel 講令碼通常比使用 pexec 的指令碼易讀。

程式 parallel 的特徵猶閣有:

  • 聚組標準輸出佮標準錯誤輸出,parallel 延期輸出一直到所有執行作業完成;
  • 會當保持輸出的次序和輸入的次序;
  • 拄仔好的處理包含特殊字元的檔名,比如講空格、單引號、雙引號、&(ampersand)和 UTF 鋪八編碼字元;

作為預設,parallel 並列執行作業的數量也若 CPU 核心數目。

上述命令是下命令的並列等價:

伊佇咧當前 kha-tá-lok-guh 佮其子 kha-tá-lok-guh 中的名結束於 ` . foo ` 所有的檔案內底走揣字串 ` bar ` 會出現著。parallel 會如期執行除非拄著名包含換行的檔案。為著避免這个限制會當使用:

上述命令使用空字元來分隔檔名。

上述命令使用 ` { } ` 來告知 ` parallel ` 將 ` { } ` 替代為實際參數列。

上述命令所做仝款:

猶毋過,使用 ` find ` / ` parallel ` / ` cp ` 的前者命令閣較有效利用資源,並且佇咧 \ * . ogg 展開了後對 shell 來講傷大的情形下無做為錯誤來停止。

參見

  • xargs
  • pexec
  • PPSS-( Distributed ) Parallel Processing Shell Script

參照

外部連結

  • 官方網站
  • GNU parallel 的計畫頁佮手冊頁