转换为 PDF 后移动文件

转换为 PDF 后移动文件

我创建了一个 Linux 脚本来将文件从 .odt 转换为 .pdf,但转换后的脚本会将文件移动到执行脚本的同一目录中。由于脚本是重复的,我希望文件与原始文件保持在同一位置。这是脚本。

#!/bin/bash
for file in $(find -type f -name '*.odt')
do
    echo $file
    libreoffice --headless --convert-to pdf $file
    #libreoffice --headless --convert-to pdf $file
done
#find -type f -name '*.odt' -print0 | xargs -0 libreoffice --headless --convert-to pdf

我尝试过将其设置--outdir为目录路径,但它会将所有文件移动到这些目录中。我希望转换后的文件与原始文件保留在同一目录中。

答案1

您可以尝试在转换文件之前更改您正在工作的目录,这样转换后的文件就会输出到当前目录。

我没有测试过,但类似这样的方法可能会有效

#!/bin/bash
for file in $(find -type f -name '*.odt')
do
    cd $(dirname ${file});
    libreoffice --headless --convert-to pdf $(basename ${file});
done

相关内容