如何查找哪些文件包含提及通配符图像名称?

如何查找哪些文件包含提及通配符图像名称?

我想做的是在我的服务器上进行搜索,以查找哪些文件包含文件名中带有特定关键字的图像的提及,但我能弄清楚的是如何找到文件名(不是特定于图像的),而不是文件包含对它们的引用。

我尝试过的是:

find -name *nasa*

但这离我想要的还很远,有什么想法吗?

答案1

通过现代实施grep

grep -r nasa .

这是一种检查它是否看起来像图像文件名的讨厌方法:

grep -rE 'nasa[[:alnum:] ]*\.(jpe?g|png|gif|tif)' .

有一些明显的警告(最大的警告是它只允许文件名中包含字母数字字符和空格,以避免语法误报)。

尽管如此,如果这是 HTML 或其他内容,您最好使用解析器。

答案2

根据您的要求尝试使用适当的替代品:

find /path/to/ -type f -exec grep -i 'string' {} +

相关内容