在 Linux 中如何按名称和 Grep 内容查找文件?

Linux find命令可用于搜索文件和目录并对其执行后续操作。

如果您使用该find命令递归搜索某些文件,然后将结果通过管道传递给该grep命令,那么您实际上将解析文件路径/名称,而不是它们的内容。

本文将带大家简短的了解如何通过名称grep及其内容递归查找某些单词或模式的文件。

在 Linux 中按名称和 Grep 内容查找文件

find按名称及其内容对文件使用grep这些命令,如下所示:

$ find <path> -type f -name '<fileName>' -exec grep -H "<text>" {} \;

例如,要查找文件夹中所有.log扩展名为“error”的/var/log/文件及其内容(带有选项,即不区分大小写):grep-i

$ 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.
...

猜你喜欢

转载自blog.csdn.net/weixin_43025343/article/details/124716067