根据关键字查看日志

老是忘记怎么查看某个关键字的指令,看到有个老哥写得不错,我把它粘贴到这里备份啦
说明: 这个只是供自己以后查询使用,如有问题请指出。 仅供参考

查看匹配内容的前后几行:
reg : 代表要搜索的内容

      destFile : 代表要搜索的文件

#grep -5 'reg' destFile //打印匹配行的前后5行

#grep -C 5 'reg' destFile //打印匹配行的前后5行

#grep -A 5 'reg' destFile //打印匹配行的后5行

#grep -B 5 'reg' destFile //打印匹配行的前5行

Linux查询某段时间内的日志:
命令格式: sed -n ‘/起始时间/’,’/结束时间/p’ [日志文件]

n : 读取下一个输入行,用下一个命令处理新的行而不是第一个命令
p : 打印输出
例如:

sed -n '/2019-07-23 17:45:00/','/2019-07-23 17:48:00/p' access.log

注意:日期时间格式要和日志文件中的保持一致;

查询到的内容输出到另外的文件
1 sed使用
sed -n ‘/2019:15:25:00/,/2019:17:30:00/p’ access.log >2019-25-30.log

  如果时间格式不同,要用转义\来做,例如:

  sed -n '/23\/Jul\/2019:17:45:00/','/23\/Jul\/2019:17:48:00/p' access.log > 2019-17.log

2 grep使用
grep “2019:15:2[5-9]” access.log >2019-25-30.log

查看某一行日志内容
使用sed 命令查看行内容

sed -n [行数],1p [文件]
2.使用vi编辑,查询:

打开vi编辑文件, 使用命令:set nu显示行号       // nu 是number的缩写

grep常见命令参数
-n 打印行号

grep -n ".*" h.txt      所有打印行号

grep -n "root" h.txt    匹配的内容显示行号

-v 不包括 所要查询的内容

-E 表示过滤 多个参数

grep -Ev "sshd|network|crond|sysstat|"

-o: 仅打印你需要的东西,默认打印正行

 grep -o "hello" h.txt

-i: 忽略大小写

grep -i "hello" h.txt

-c: 用于统计文中出现的次数

–color=auto 过滤字段添加颜色

利用正则打印特定字符

\b:作为边界符,边界只包含特定字符的行

grep "\boy\b" /etc/passwd   -->只过滤包含boy的行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值