根据文件名的前两个单词合并 pdf

根据文件名的前两个单词合并 pdf

我有一个文件夹,其中包含许多具有以下文件名结构的文件:

John Doe-title.pdf
John Doe-title2.pdf
John Doe-title3.pdf
Jane Smith-一些标题.pdf
Jane Smith-第二个标题.pdf

我希望将以相同的两个单词开头的 pdf 作为文件名的一部分合并起来,以获得以下内容:

John Doe.pdf
简·史密斯.pdf

我该如何在 Linux 中使用脚本以及 Linux 下可用的任何工具来完成此操作?

答案1

我知道有点老了,我想要这样的脚本:

  • 列出具有连字符的文件
查找 -iname '*-*.pdf'
  • 保留连字符之前的部分
查找 -iname'*-*.pdf'| sed“s/-.*$//”
  • 删除重复项:您有想要的前缀(“John Doe”,“Jane Smith”)(您可以忽略仅出现一次的前缀,但如果合并 pdf 命令对一个文件感到满意并且只是复制它,那么这可能不是必需的)
查找 -iname'*-*.pdf'| sed“s/-.*$//”| 排序 -u
  • 循环遍历前缀,为每个前缀获取以此前缀开头的文件列表并将它们组合起来
IFS=$'\n';对于$中的前缀(find -iname '*-*.pdf' | sed "s/-.*$//" | sort -u); do pdfunite $prefix* $prefix.pdf; 完成

相关内容