我有三个级别的文件夹,如主文件夹、子 1 和子 2。我的主文件夹有很多子 1 文件夹,而子 1 有很多子 2 文件夹,里面有 JPG 图像。
我使用此命令将 JPG 文件从主文件夹复制到其父子文件夹 1。
find . -type f -name "*.jpg" -exec sh -c 'for p; do
cp "$p" "${p%/*/*}"
done' _ {} +
现在我必须将我的主文件夹中的每个子 1 文件夹内的所有 jpg 转换为一个 pdf 文件,因此子 1 中会有我所有复制的 jpg 以及转换后的 pdf(pdf 名称应为文件夹名称,例如:子 1)。转换完成后,我必须仅删除子 1 文件夹内的复制的 jpg(而不是原始 jpg),因此会有许多子 2 文件夹和一个 pdf 文件。
我正在使用 img2pdf 库来转换我的图像。我尝试了下面的命令,但它不起作用,我找不到任何解决方案。现在我该如何让它工作?
find . -name '*.jpg' -type f -exec bash -c 'img2pdf *.jpg -o "${PWD##*/}".pdf' {} + \
答案1
这对我有用:
find . -name '*.png' -type f -exec bash -c 'name={} && img2pdf {} -o "${name/.png/.pdf}" ' \;