Linux find
命令可用于搜索文件和目录并对其执行后续操作。
如果您使用该find命令递归搜索某些文件,然后将结果通过管道传递给该grep命令,那么您实际上将解析文件路径/名称,而不是它们的内容。
本文将带大家简短的了解如何通过名称grep及其内容递归查找某些单词或模式的文件。
在 Linux 中按名称和 Grep 内容查找文件
find按名称及其内容对文件使用grep这些命令,如下所示:
代码语言:txt复制$ find <path> -type f -name '<fileName>' -exec grep -H "<text>" {} ;
例如,要查找文件夹中所有.log扩展名为“error”的/var/log/文件及其内容(带有选项,即不区分大小写):grep-i
代码语言:txt复制$ find /var/log/ -type f -name '*.log' -exec grep -H -i "error" {} ;
- sample output -
/var/log/Xorg.0.log: (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
/var/log/bootstrap.log:2022-05-08 11:21:26 ERROR 404: Not Found.
/var/log/bootstrap.log:2022-05-08 11:21:26 ERROR 404: Not Found.
...