linux -- grep查询日志常用命令

参  数:
  -a或--text   不要忽略二进制的数据。
  -A<显示列数>或--after-context=<显示列数>   除了显示符合范本样式的那一列之外,并显示该列之后的内容
  -b或--byte-offset   在显示符合范本样式的那一列之前,标示出该列第一个字符的位编号。
  -B<显示列数>或--before-context=<显示列数>   除了显示符合范本样式的那一列之外,并显示该列之前的内容
  -c或--count   计算符合范本样式的列数。
  -C<显示列数>或--context=<显示列数>或-<显示列数>   除了显示符合范本样式的那一列之外,并显示该列之前后的内容。
  -d<进行动作>或--directories=<进行动作>   当指定要查找的是文件夹而非文件时。必须使用这项參数,否则grep指令将回报信息并停止动作。
  -e<范本样式>或--regexp=<范本样式>   指定字符串做为查找文件内容的范本样式。
  -E或--extended-regexp   将范本样式为延伸的普通表示法来使用。
  -f <范本文件>或--file=<范本文件>   指定范本文件,其内容含有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每列一个范本样式。
  -F或--fixed-regexp   将范本样式视为固定字符串的列表。
  -G或--basic-regexp   将范本样式视为普通的表示法来使用。
  -h或--no-filename   在显示符合范本样式的那一列之前,不标示该列所属的文件名。
  -H或--with-filename   在显示符合范本样式的那一列之前,表示该列所属的文件名。
  -i 或--ignore-case   忽略字符大写和小写的区别。
  -l 或--file-with-matches   列出文件内容符合指定的范本样式的文件名
  -L 或--files-without-match   列出文件内容不符合指定的范本样式的文件名
  -n 或--line-number   在显示符合范本样式的那一列之前,标示出该列的列数编号
  -q或--quiet或--silent   不显示不论什么信息。
  -r或--recursive   此參数的效果和指定“-d recurse”參数同样。
  -s或--no-messages   不显示错误信息。
  -v或--revert-match   反转查找。
  -V或--version   显示版本号信息。
  -w或--word-regexp   仅仅显示全字符合的列。
  -x或--line-regexp   仅仅显示全列符合的列。
  -y   此參数的效果和指定“-i”參数同样。

--exclude 搜索时排除某些文件

--exclude-dir 搜索时排除某些目录
  --help   在线帮助。

不指定搜索的对象,则默认为当前目录

grep常用于管道拼接,即在前面执行的结果中查找包含相关字符串的内容,例如:ps -ef |grep redis

( ps -ef :查看系统进程情况 )

1、查询单个文件(trace.log)中包含指定text的行:

 grep text trace.log

2、利用*适配符,在所有包含log的文件名中 查询 text

grep text *log*

3、以递归的方式,在指定的目录及其子目录下面所有的文件中 查询 text

grep -r text /home/logs

4、查找所有不包含 text 的行,即反向查找

grep -v text *log

5、除了查找的那一行之外,多显示 其之后(-A)/之前(-B)/前后(-C) 的n行的值

grep text -A/B/C n *log

6、匹配多个字符串(1)或关系,匹配其中一个就显示;(2)与关系,匹配所有才显示

//或
grep -E "text1|text2|text3" *log
//与
grep text1 *log |grep text2 |grep text3

7、让匹配的字符串显示颜色

grep text *log --color=auto
//或者
grep text *log --col

8、匹配key.txt文件中所有关键字的行

cat filename |grep -f key.txt  //在打开的filename文件中查找

9、搜索时排除某些文件

grep -rn "test" --exclude=*.txt  //查找包含text,但是排除txt文件
grep -rn "text" --exclude-from=skip.txt  //排除的条件存储在skip.txt文件里
grep -rn "text" --exclude-dir=aaa  //排除aaa目录下的所有文件

 

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值