查询多个关键字
查询包含多个关键字(或操作)
// 主要一定要使用单引号
grep -E '123|abc' filename // 找出文件(filename)中包含123或者包含abc的行
egrep '123|abc' filename // 用egrep同样可以实现
awk '/123|abc/' filename // awk 的实现方式
示例:
grep -E 'upload|download' file.log
查询同时包含多个关键字的命令(与操作)
grep pattern1 files | grep pattern2 //显示既匹配 pattern1 又匹配 pattern2 的行
示例:
grep ‘upload’ file-test.log | grep ‘download’
单个字符串查找
grep "字符串" 文件名
查找某个文件中字符串,并输出行号
grep -n 字符串 文件名
查找当前目录(包括子目录)的字符串
grep -r 字符串 *
查找当前目录(包含子目录)的字符串,并输出行号
grep -rn 字符串 *
- :通配符,表示当前目录所有文件,也可以按照某种模式进行匹配。例如:
grep 字符串 *.txt 匹配所有文件后缀名为txt的字符串
选项说明
- -r :递归查找
- -n :显示行号
- -R :查找所有文件包含子目录
- -i :忽略大小写
查询特定错误前后多少行的命令
grep -C 100 “2021-09-08 08:46:56.034” logs/file.log
过滤出不包含指定错误的命令
过滤出ERROR中不包含 “upload file empty”的命令
grep ERROR logs/file.log |grep -v “upload file empty”
其他操作
grep -i pattern files //不区分大小写地搜索。默认情况区分大小写,
grep -l pattern files //只列出匹配的文件名,
grep -L pattern files //列出不匹配的文件名,
grep -w pattern files //只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
grep -C number pattern files //匹配的上下文分别显示[number]行
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/100285.html