[我正在尝试合并文件夹中的每对图像,并使用imagemagick将结果合并为PDF文件,并使用GNU Parallel
并行处理。
parallel -N2 convert \( {1} -rotate 30 \) {2} +append miff:- ::: *jpeg | convert - out.pdf
问题是我需要旋转第一个参数,并且发生错误。
Error: /bin/sh: -c: line 0: syntax error near unexpected token `01.jpeg'
/bin/sh: -c: line 0: `convert ( 01.jpeg -rotate 30 ) 02.jpeg +append miff:-'
...
我如何处理GNU并行正在接收的参数之一?
首先,最好使用parallel -k
,否则输出顺序错误。
第二,不需要括号以确保-rotate
仅适用于第一张图像,因为此时您还没有加载第二张图像。
所以,您正在看:
parallel -k -N2 convert {1} -rotate 30 {2} +append miff:- ::: *jpeg | convert - out.pdf
或者也许:
parallel -k -N2 'convert {1} -rotate 30 {2} +append miff:-' ::: *jpeg | convert - out.pdf