linux - 我正在尝试遍历目录并对它们执行命令
问题描述
我一直在尝试遍历当前文件夹的子目录并将所有 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
解决方案
从输出开始看看实际发生了什么总是一件好事。
#!/bin/bash
for file in $(find -type f -name '*.odt');
do
echo libreoffice --headless --convert-to pdf ${file}
done
复制一行输出,手动执行看看是否有效。之后删除echo
并实际转换...
推荐阅读
- visual-studio-code - 如何仅针对一种语言禁用 TabNine 扩展?
- python - 如何修复函数返回“无”导致 pow() 的操作数不受支持
- c - 堆栈字符串上 strtok_r 中的分段错误
- python - Django 表单字段正在显示记录的 uuid
- transactions - 当 SqlDataReader 返回太多记录时,创建新的 SqlFileStream 对象时出错
- powershell - Powershell read-host -prompt(如何在控制台中键入外部文件中的值时查找它们)
- excel - 如何删除不包含 #N/A 的行
- matlab - 无阶跃变化的噪声添加
- javascript - 如果另一个元素为空,则隐藏元素
- php - 如何使用 Yii2 ActiveRecord 更新多行?