摘要:使用grep或者rg在当前目录下所有文件中查找关键字。
在Linux操作系统下,搜索文件中的关键字可帮助用户快速找到所需的信息,满足快速排查问题的需求。在大型系统中,文件可能被保存在多个目录中并且命名也可能不同,所以,逐个文件搜索就不现实了。小编在《Linux grep查询关键词首次或者最近一次出现的地方》介绍了如何在同一个文件里搜索关键词,本篇文章将和各位一起学习如何在多个文件中搜索关键字。
使用grep命令查找文件中的关键字
如果要在整个目录中搜索关键字,我们可以使用以下命令:
$ grep 'keyword' *
它在当前目录下递归搜索所有文件。谨记,不要丢掉最后的星号,而且不可换成具体的目录。如果要忽略子目录和二进制文件,可以使用以下命令:
$ grep -r 'keyword' --exclude-dir={目录1,目录2} --exclude='*.ext'
它忽略指定目录和扩展名的文件。
使用rg命令查找文件中的关键字
ripgrep是一个比grep高效的关键词搜索工具,rg (ripgrep)支持使用正则表达式和Unicode搜索。在整个项目中查找的命令如下:
$ rg 'keyword' 目录
上述命令会递归搜索指定目录下的所有文件。服务器一般不支持rg命令,会出现如下提示:
bash: rg: command not found
这时候,请安装rg指令,或者更换为grep。如果需要排除指定文件,则语法糖如下:
$ rg 'keyword' --ignore-file=ext:文件后缀 --ignore-dir={目录1,目录2}
上述命令会忽略指定目录和扩展名的文件。
结束语
以上就是这篇文章的全部内容了,希望本文对道友的学习或者工作能带来一定的帮助,如有疑问请留言交流。Wiener在此祝各位生活愉快!工作顺利!
标签:文件,grep,关键字,rg,搜索,Linux,目录 From: https://www.cnblogs.com/east7/p/17760432.html