我想连接子目录中的所有 PDF,文件名可能包含空格。我很清楚这个解决方案,
find . -name *.pdf -print0 | xargs -0 -J FILE pdftk FILE cat output out.pdf
但是,不幸的是,我的 xargs 版本不支持 -J 选项。有其他方法可以实现这一目标吗?
我试过这个
pdftk $(find . -name *.pdf -print0 | xargs -0 -I {} printf '%q ' {} ) cat output out.pdf
但 pdftk 将此视为不存在转义。
答案1
-I
不适合您。您需要的是以下内容:
find . -name '*.pdf' -type f -exec sh -c 'pdftk "$@" cat output /tmp/out.pdf' x {} +
这里有一些免责声明:
a) Your current working dir. != /tmp
b) The sh is run just once otw, the out.pdf will be overwritten by the last run.
c) Your sh stores the 1st -> $0, 2nd -> $1, 3rd -> $2, etc.
尽管以上所有问题都可以解决,但这足以让您开始。