pos*_*def 2 pipe find ghostscript arguments
我想将多个 pdf 文件合并为一个。在 SO 上找到了这个很好的答案,但这里有一个问题。我的 pdf 不在同一目录中,所以本质上我想进行一次find
调用并将输出通过管道传输到gs
,如下所示:
find . -path "*_somedir/*" -name "some.pdf" -print0 | gs ...
Run Code Online (Sandbox Code Playgroud)
我已经检查了手册页,gs
但没有关于空终止参数的信息,所以我不确定如何将参数从find
to传递gs
。我假设如果我跳过 -print0 标志,它将gs
在第一个参数之后运行调用。
有任何想法吗?我当然愿意接受其他合并 pdf 的方法,但我想避免安装新的软件包,因为这是在社区服务器上完成的。
一种方法是假设 GNUfind(1)
和 GNU xargs(1)
:
find /some/dir -type f -name '*.pdf' -print0 | \
xargs -0 gs -q -dNOPAUSE -sDEVICE=pdfwrite -dBATCH -sOUTPUTFILE=out.pdf
Run Code Online (Sandbox Code Playgroud)
然而,PDF 是一个复杂的庞然大物。预计由此产生的结果好坏参半。