如何运行Bash循环并使用GNU Parallel?

4

我有一个bash循环,在其中传递变量给一个脚本。 我想使用GNU parallel并行运行这些变量。

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

我希望脚本能够并行运行,如下所示:
     ./SCRIPT -n FILE1
     ./SCRIPT -n FILE2
     ./SCRIPT -n FILE3

我想使用GNU parallel命令,因为它在这里经常被建议使用,但是如果我要将变量传递给脚本,我不知道该将并行命令放在哪里。

我已经尝试将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

你有什么建议吗?

1个回答

2
尝试这样做:

尝试像这样:

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

或者,如果您的文件确实是这样命名的,更简洁地说:
parallel ./SCRIPT -n {} ::: FILE*

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接