GNU parallel:如何格式化替换字符串?

时间:2014-01-09 00:00:14

标签: bash parallel-processing gnu gnu-parallel

我正在努力实现以下目标,并且我想在多个进程上使用GNU parallel进行。

for i in $(seq 0 3); do
 var=$(printf "%.5d" $i)
 echo test_$var
done

 Output:
--------------------
test_00000
test_00001
test_00002

我尝试了这个并且它无效:

parallel var=$(print "%.5d" {})\; echo test_$var ::: $(seq 0 3)

1 个答案:

答案 0 :(得分:4)

在运行并行之前,您正在扩展命令替换,这就是失败的原因。

您可以使用单引号来避免这种情况:

parallel 'var=$(printf "%.5d" {}); echo test_$var' ::: $(seq 0 3)