Linux 查看匹配内容的前后几行和查询某段时间内的日志

说明: 这个只是供自己以后查询使用,如有问题请指出。 仅供参考

查看匹配内容的前后几行:

          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

查看某一行日志内容

  1. 使用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、付费专栏及课程。

余额充值