首页 > 解决方案 > 我正在尝试遍历目录并对它们执行命令

问题描述

我一直在尝试遍历当前文件夹的子目录并将所有 odt 文件转换为 pdf。我已经执行了以下代码,但似乎我每次都陷入 for 循环。我也无法转换目录内的文件

#!/bin/bash

for file in */;
do
   libreoffice --headless --convert-to pdf *.odt
done

我试过使用这样的查找方法

#!/bin/bash

for file in 'find -type f -name '*.odt'';
do
   libreoffice --headless --convert-to pdf *.odt
done

标签: linuxbashcommand-line

解决方案


从输出开始看看实际发生了什么总是一件好事。

#!/bin/bash

for file in $(find -type f -name '*.odt');
do
   echo libreoffice --headless --convert-to pdf ${file}
done

复制一行输出,手动执行看看是否有效。之后删除echo并实际转换...


推荐阅读