我有 86 个 PDF,我不想在互联网上共享并使用在线工具合并。我正在使用 PopOS Linux 发行版,我想使用终端合并它。
PDF 名称类似于1.SubjectA
, 2. SubjectB
(以 Number. 开头,因此它们排序良好)这是我发现的,但它们都没有按顺序合并:
qpdf --empty --pages *.pdf -- out.pdf
文件名示例:
1. Why to learn System and Network.pdf
2. Network, Hardwares, LAN-WAN.pdf
3. Protocols-Ports, OSI-TCP IP.pdf
4. ARP, ICMP, RFC, IANA.pdf
...
模式为数字 + .(点)+ 空格 + 名称
答案1
对于一个目录中的所有文件,可以去掉文件名中的空格和逗号,然后对它们进行排序并合并,因此:
find . -name "*" -type f | rename 's/ /_/g'
find . -name "*" -type f | rename 's/,/_/g'
ls | sort -n | pdfunite *.pdf merged.pdf
答案2
我会尝试调整排序命令以匹配所需的顺序:
qdf --empty --pages `ls *.pdf |sort -n` -- out.pdf
如果文件名包含空格,此方法将不起作用。在这种情况下,我建议:
find . -name "*.pdf" -type f -print0 |sort -V -z |xargs -0 qpdf --empty --pages {} -- out.pdf
如果这不能满足您的需求,请解释您发现的问题。