在子目录中搜索包含该标签的所有 html 文件

在子目录中搜索包含该标签的所有 html 文件

我有一个目录,其中包含许多具有不同扩展名的文件。我想要列出.html仅包含标签的所有文件。

答案1

从终端,使用find命令查找所有以 .html 结尾的文件,并使用命令grep过滤结果以仅显示包含字符串的文件的名称<abbr>

cd /path-to-dir ## change directories to the root directory that you are searching from
find . -name "*.html" -exec grep -l '<abbr>' {} +  

find命令默认以递归方式在目录层次结构中搜索文件。

或者将两个命令合并为一个命令:

find /path-to-dir -name "*.html" -exec grep -l '<abbr>' {} +

答案2

一个简单的解决方案:

grep -r "<abbr" --include="*.html" /path-to-dir
  • 用于-r所有子目录。
  • 仅用于--include='*html'匹配 html 文件。

答案3

为了进行验证(即file namelines with <abbr>),您可以使用简单的方法:

grep '<abbr>' /path-to-dir/*.html

如果你想文件名仅使用以下内容:

grep '<abbr>' /path-to-dir/*.html | awk -F: '{ print $1 }' | sort | uniq

相关内容