drh*_*des 37 bash file-processing gnu-parallel
使用GNU parallel
:http://www.gnu.org/software/parallel/
我有一个程序,需要两个参数,例如
$ ./prog file1 file2
$ ./prog file2 file3
...
$ ./prog file23456 file23457
Run Code Online (Sandbox Code Playgroud)
我正在使用生成文件名对的脚本,但这会产生问题,因为脚本的结果是单个字符串 - 而不是一对.喜欢:
$ ./prog "file1 file2"
Run Code Online (Sandbox Code Playgroud)
GNU parallel
似乎有一大堆技巧,我想知道是否有一个用于在分隔符周围分割文本:
$ generate_file_pairs | parallel ./prog ?
# where ? is text under consideration, like "file1 file2"
Run Code Online (Sandbox Code Playgroud)
简单的解决方法是在prog中手动拆分args,但我想知道它是否可能GNU parallel
.
Ole*_*nge 66
你可能正在寻找--colsep
.
generate_file_pairs | parallel --colsep ' ' ./prog {1} {2}
Run Code Online (Sandbox Code Playgroud)
阅读man parallel
更多.如果您尚未这样做,请观看介绍视频http://www.youtube.com/watch?v=OpaiGYxkSuQ