将子目录中的图像转换为pdf

Dre*_*rew 1 linux bash imagemagick-convert

我有一堆带有图像的子文件夹。我正在尝试使用目录名称作为 pdf 名称递归地将它们转换为 pdf 文件。在一些谷歌搜索的帮助下,我尝试使用我写的这个脚本:

#!/bin/bash

for D in `find . -type d` do
  convert *.jpg ${PWD##*/}.pdf
end
Run Code Online (Sandbox Code Playgroud)

这没用。我怎样才能让它发挥作用?

每个文件夹中都有多个.JPGs,编号为 01-10 等。使用convert *.jpg name.pdf将所有图像转换为一个 pdf 文件。我想制作一个脚本来执行此操作,并使 PDF 文件具有目录名称。

我还希望脚本然后抓取转换后的 pdf 并将其向上移动一个级别到父目录中。

sav*_*nto 5

while环是比较合适的位置。尝试这个:

find . -type d | while read d; do convert "${d}"/*.jpg ./"${d##*/}.pdf"; done
Run Code Online (Sandbox Code Playgroud)
  • find 将返回当前目录中的所有目录。
  • while read d将每个目录路径读入变量$d.
  • convert ${d}/*.jpg对目录中的所有 .jpg 图像执行转换$d
  • ./${d##*/}.pdf仅用目录名称替换整个目录路径,附加.pdf,并确保在父目录中创建 PDF 文件。