0
我想在64核心機器上處理2000個文件。我有一個python腳本foo.py
我像這樣運行:如何在沒有GNU並行的bash中並行運行任務
cat file0000.txt|./foo.py > out0000.txt
理想我想分裂的2000個文件file0000.txt到file01999.txt成40集的大小50的每個並在每個集運行foo.py平行。對於套1:4,滿分40這將是下面的等價:
cat file00[0-4][0-9] |./foo.py > outfile1.txt &
cat file00[5-9][0-9] |./foo.py > outfile2.txt &
cat file01[0-4][0-9] |./foo.py > outfile3.txt &
cat file01[5-9][0-9] |./foo.py > outfile4.txt &
可悲的是,我上運行這個系統沒有parallel
,所以我必須這樣做而沒有非常有用的工具。
Bash script processing commands in parallel看起來相似,但最流行的答案是不直接相關的,第二個最流行的答案使用parallel
,我沒有訪問。
是什麼'xargs'和'-P max-procs'選項的問題? – Alper
@Alper這可能是答案,但我從來沒有使用它。你會如何使用它來解決我的問題? – eleanora
就像'ls -1 | xargs -I {} -P 5 sh -c「cat {} | ./foo.py> out {} .txt」',注意:'ls -1'應該列出您的輸入文件並更改'-P 5'隨你便。 – Alper