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