使用GNU parallel
:http://www.gnu.org/software/parallel/
我有一个需要两个参数的程序,例如:
$ ./prog file1 file2
$ ./prog file2 file3
...
$ ./prog file23456 file23457
我使用一个生成文件名对的脚本,但这会带来问题,因为脚本的结果是一个单独的字符串 - 而不是一对。例如:
我使用一个生成文件名对的脚本,但这会带来问题,因为脚本的结果是一个单独的字符串 - 而不是一对。
$ ./prog "file1 file2"
GNU parallel
似乎有很多技巧,我想知道是否有一个用于在分隔符周围拆分文本的技巧:
$ generate_file_pairs | parallel ./prog ?
# where ? is text under consideration, like "file1 file2"
简单的解决方法是在 prog
中手动分割参数,但我想知道是否可以在 GNU parallel
中实现。
--colsep
不会删除引号,对吗?假设引号围绕文本,有没有办法用 parallel 去掉它们?例如,以下代码无法正常工作:echo '"file1 file2"' | parallel --colsep ' ' ./prog {1} {2}
。 - Steve Koch