搜索包含两个任意名称且具有特定扩展名的文件的目录

Searching for directories that contain two files of any name, with specific extensions

我发现这个 post 可以做我想做的事情,但原来的 poster 知道他们在搜索什么文件。

我将如何更新此查找命令以搜索并列出包含两个任意名称但具有两个特定文件扩展名的文件的任何子目录?

find -type d -exec sh -c '[ -f "[=10=]"/index.php ] && [ -f "[=10=]"/style.css ]' '{}' \; -print

具体来说,我希望在所有子文件夹中搜索包含 *.RAR 文件 AND *.VMK 文件的目录。当我用已知文件夹的特定文件名替换“index.php”和“style.css”时,我得到了正确的结果。

现在我只需要一些帮助来用通配符和扩展名替换那些特定的文件名。

我已经尝试了这两个选项,但它们没有达到预期的效果。

find -type f '[ -f "[=11=]"/*.rar ] && [ -f "[=11=]"/*.vmk ]' '{}' \

find -type f '[ -f "[=11=]"/"*.rar" ] && [ -f "[=11=]"/"*.vmk" ]' '{}' \

提前感谢您的协助,非常感谢! :)

此致。

您尝试的两个选项与原来的工作命令有很大不同。如果您只是将其中的 index.phpstyle.css 分别替换为您想要的 *.rar*.vmk(没有 ""),只要没有,它就会工作一个文件夹中有 *.rar*.vmk 个文件。

呃。我在原来的 post 中犯了一个复制和粘贴错误,并且 post 编辑了我失败的代码尝试之一。

但是,当我将您的评论 Armali 应用到我的意思时 post,它按预期工作了。

这是我最终得到的结果:

find -type d -exec sh -c '[ -f "[=10=]"/*.rar ] && [ -f "[=10=]"/*.mkv ]' '{}' \; -print

谢谢。