我创建了一个Bash脚本,将文件从.odt转换为.pdf,但是转换后,该脚本将文件移动到当前工作目录中。由于脚本是重复出现的,我希望每个输出文件都保留在原始文件所在的位置。这是脚本。
#!/bin/bash
for file in $(find -type f -name '*.odt')
do
echo $file
libreoffice --headless --convert-to pdf $file
done
我尝试将--outdir
设置为目录路径,但是它将所有文件移动到这些目录中。我希望转换后的文件与原始文件保留在同一目录中。
答案 0 :(得分:1)
动态生成--outdir
值,并避免解析find
的输出。
find . -type f -name '*.odt' -print -exec sh -c '
for fpath do
soffice --headless --convert-to pdf --outdir "${fpath%/*}" "$fpath"
done' _ {} +