【发布时间】:2018-06-25 08:25:38
【问题描述】:
是否可以让 GNU 并行调用一次具有多个参数的命令,但有一定的限制?
只是为了解释,一个简单的例子......
制作一些文件:
seq 10 | parallel touch test_files{}.txt
要删除它们,我可以这样做:rm ./test_files*.txt,
或等效地与 GNU 并行:ls ./test_files*.txt | parallel rm,
每个文件运行一次rm。
有没有办法告诉 GNU 并行运行带有最大参数数量的命令,比如...
ls ./test_files*.txt | parallel --max-args 5 rm
那会启动
rm test_files1.txt test_files2.txt test_files3.txt test_files4.txt test_files5.txt
rm test_files6.txt test_files7.txt test_files8.txt test_files9.txt test_files10.txt
【问题讨论】:
-
或者您可以使用
ls testfiles*.txt | parallel -X rm,它将在您的操作系统允许的范围内将尽可能多的文件传递给每次调用rm。
标签: shell gnu-parallel