簡體   English   中英

如何運行 bash for 循環並使用 GNU 並行?

[英]how to run bash for loop and using GNU parallel?

我有一個 bash 循環,我將變量傳遞給腳本。 我想與 GNU 並行運行這些

for FILE_NAME in FILE1 FILE2 FILE3; 
do
    ./SCRIPT -n $FILE_NAME
done

我希望腳本並行運行,如下所示:

     ./SCRIPT -n FILE1
     ./SCRIPT -n FILE2
     ./SCRIPT -n FILE3

我正在嘗試使用 GNU 並行命令,因為這里有很多建議,但是如果我將變量傳遞給腳本,我對將並行命令放在哪里感到困惑。

我試過把FILE1 FILE2 FILE3變成一個列表:

parallel -a $FILE_LIST ./SCRIPT -n $FILE_NAME
for FILE_NAME in FILE1 FILE2 FILE3; 
do
    parallel ./SCRIPT -n $FILE_NAME
done

你有什么建議嗎?

試試這樣:

parallel ./SCRIPT -n {} ::: FILE1 FILE2 FILE3

或者,如果您的文件確實是這樣命名的,則更簡潔:

parallel ./SCRIPT -n {} ::: FILE*

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM