gpt4 book ai didi

linux - Bash脚本qpdf在1个目录中拆分多个pdf

转载 作者:行者123 更新时间:2023-12-04 19:28:19 25 4
gpt4 key购买 nike

我编写了一个简单的 bash 脚本,因为我需要定期将多个 pdf 拆分为 2 个 pdf。我需要每次都以相同的顺序拆分它们(第 1-5 页和第 6 页到最后一页)。我需要对新拆分的 pdf 进行唯一命名,以便将它们分开(即 inv-1.pdf rec-1.pdf;inv-2.pdf rec-2.pdf 等)。我的脚本仅在文件夹中有 5 个以上时才拆分 1 个 pdf。任何建议表示赞赏。

    #!/bin/bash
for file in $(ls REQ*.pdf)

do
qpdf ${file} --pages . 1-5 -- inv-%d.pdf |\
qpdf ${file} --pages . 6-z -- rec-%d.pdf |\
echo >> ${file}
done
'''

最佳答案

快速解决方案:追加| xargs echo给您的ls命令。

    #!/bin/bash
for file in $(ls REQ*.pdf | xargs echo)

do
qpdf ${file} --pages . 1-5 -- inv-%d.pdf |\
qpdf ${file} --pages . 6-z -- rec-%d.pdf |\
echo >> ${file}
done
理由:在您的情况下, ls输出是每行一个文件名。您的 for循环仅在同一行中获取文件名。其余的被忽略。您可以阅读有关 ls 的更多信息此答案的输出行为- What is the magic separator between filenames in ls output?
管道 ( | ) 重定向 ls输出到 xargs适用 echo在一行上生成以空格分隔的文件名。
阅读更多关于 xargsman page

关于linux - Bash脚本qpdf在1个目录中拆分多个pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68959589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com