인터넷에서 공유하고 싶지 않은 PDF가 86개 있는데 온라인 도구를 사용하여 병합합니다. 저는 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
이것이 귀하의 요구 사항을 충족하지 못하는 경우 발견한 문제를 설명해 주십시오.