GNU 并行:将每个作业输出到没有管道的不同文件
GNU parallel: output each job to a different file without pipes
This question is very close to this other, but that answer is not
valid for me, I think due to my shell script does not work with pipes.
这是我的多任务命令:
parallel "./ClientesActivos-AP-N.sh -t 15" ::: $(seq 0 2)
我希望输出为:
file0.out
file1.out
file2.out
我不知道应该把重定向器放在哪里>
。
我已经测试过,没有运气:
parallel ./ClientesActivos-AP-N.sh -t 15 ">" file{}.out ::: $(seq 0 1)
parallel ./ClientesActivos-AP-N.sh -t 15 ::: $(seq 0 1) ">" file{}.out
我的脚本是这样工作的:
./ClientesActivos-AP-N.sh -t 15 0
./ClientesActivos-AP-N.sh -t 15 1
./ClientesActivos-AP-N.sh -t 15 2
因此输出(对于上述手动未并行示例)将变为 file0.out
、file1.out
和 file2.out
.
将每个作业重定向到不同文件的正确方法是什么?
进一步失败的测试:
parallel --files file{}.out "./ClientesActivos-AP-N.sh -t 15" ::: $(seq 0 2)
我发现 --dry-run
选项是调试 GNU Parallel 命令的好方法。基本上,它告诉你它会做什么而不实际做任何事情——它也让我不必写一个虚拟的 "ClientesActivos" 脚本而且我们都知道我的西班牙语不是很好;-)
所以,对于你的直接问题,如果你尝试这个,我认为它显示的是你想要做的:
$ parallel --dry-run ./ClientesActivos-AP-N.sh -t 15 {} ">" file{}.out ::: {0..1}
./ClientesActivos-AP-N.sh -t 15 0 > file0.out
./ClientesActivos-AP-N.sh -t 15 1 > file1.out
This question is very close to this other, but that answer is not valid for me, I think due to my shell script does not work with pipes.
这是我的多任务命令:
parallel "./ClientesActivos-AP-N.sh -t 15" ::: $(seq 0 2)
我希望输出为:
file0.out
file1.out
file2.out
我不知道应该把重定向器放在哪里>
。
我已经测试过,没有运气:
parallel ./ClientesActivos-AP-N.sh -t 15 ">" file{}.out ::: $(seq 0 1)
parallel ./ClientesActivos-AP-N.sh -t 15 ::: $(seq 0 1) ">" file{}.out
我的脚本是这样工作的:
./ClientesActivos-AP-N.sh -t 15 0
./ClientesActivos-AP-N.sh -t 15 1
./ClientesActivos-AP-N.sh -t 15 2
因此输出(对于上述手动未并行示例)将变为 file0.out
、file1.out
和 file2.out
.
将每个作业重定向到不同文件的正确方法是什么?
进一步失败的测试:
parallel --files file{}.out "./ClientesActivos-AP-N.sh -t 15" ::: $(seq 0 2)
我发现 --dry-run
选项是调试 GNU Parallel 命令的好方法。基本上,它告诉你它会做什么而不实际做任何事情——它也让我不必写一个虚拟的 "ClientesActivos" 脚本而且我们都知道我的西班牙语不是很好;-)
所以,对于你的直接问题,如果你尝试这个,我认为它显示的是你想要做的:
$ parallel --dry-run ./ClientesActivos-AP-N.sh -t 15 {} ">" file{}.out ::: {0..1}
./ClientesActivos-AP-N.sh -t 15 0 > file0.out
./ClientesActivos-AP-N.sh -t 15 1 > file1.out