发现表达式不起作用

发现表达式不起作用

我想使用 find -exec 和 unoconv 命令将所有 powerpoint 类型的文件转换为 pdf。

find . -name '*.@(ppt|PPT|pptx|PPTX|pps|PPS|ppsm|PPSM|ppsx|PPSX|pptm|PPTM)' -exec unoconv -v -f pdf '{}' \;

我以前做过这个,但由于我包含了扩展模式匹配,所以它不起作用。我尝试了各种选项,但都不起作用。如果有人能告诉我我做错了什么,我将不胜感激。它就是不运行。

答案1

find不支持扩展模式匹配。假设您有一个find支持-iname(如 GNU find),我会使用类似以下内容的东西:

find . \( -iname '*.ppt*' -o -iname '*.pps*' \) -exec unoconv -v -f pdf '{}' \;

如果您真的担心文件匹配不正确,则可以使用-o具有更多限制性模式的子句。

相关内容