bash – linux命令合并带有数字排序的pdf文件
我正在尝试编写一个bash脚本,将目录的所有pdf文件合并为一个单独的pdf文件.命令pdfunite * .pdf output.pdf成功实现了这一点,但它按正常顺序合并输入文档:
次数1.pdf 虽然我希望文档以数字顺序合并: 次数1.pdf 我想混合ls -v或sort -n和pdfunite的命令会起作用,但我不知道如何组合它们. 非常感谢您的帮助
你可以使用$()嵌入命令的结果, 所以你可以做到以下 $pdfunite $(ls -v *.pdf) output.pdf 要么 $pdfunite $(ls *.pdf | sort -n) output.pdf 但请注意,当filename包含特殊字符(如空格)时,这不起作用. 在这种情况下,您可以执行以下操作: ls -v *.txt | bash -c 'IFS=$'"'"'n'"'"' read -d "" -ra x;pdfunite "${x[@]}" output.pdf' 虽然看起来有点复杂,但它只是组合而已 > Bash: Read tab-separated file line into array 请注意,您不能使用xargs,因为pdfunite需要输入pdf作为参数的中间部分.我避免使用readarray,因为旧的bash版本不支持它,但你可以使用它而不是IFS = .. read -ra ..如果你有更新的bash. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |