linux获取日志指定行数范围内的内容

Posted 夜雨西风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux获取日志指定行数范围内的内容相关的知识,希望对你有一定的参考价值。

假如我要获取“浅浅岁月拂满爱人袖”到“落入凡尘伤情着我”之间的内容。

 

1、首先得到他们所在的行号:

 -n选项显示行号

但是有时候grep后显示的是“匹配到二进制文件(标准输入)”,说明搜索的字符串在某二进制文件当中匹配到了,不想匹配二进制文件的话,用grep -a即可。

 

root@ubuntu:~# grep -an \'浅浅岁月拂满爱人袖\' abc |awk -F: \'{print $1}\'
3
root@ubuntu:~# grep -an \'落入凡尘伤情着我\' abc |cut -d: -f1
6

awk设置分隔符为":",然后打印第1个区块的内容

也可以用cut来做,-d设置分隔符,-f1取第1个区块的内容

 

 2、使用sed -n \'开始行,结束行p\' filename

root@ubuntu:~# sed -n \'3,6p\' abc
男:浅浅岁月拂满爱人袖
片片芳菲入水流
女:凉凉天意潋滟一身花色
落入凡尘伤情着我

 

如果是查看某一行:

root@ubuntu:~# sed -n \'3p\' abc
男:浅浅岁月拂满爱人袖

 

以上是关于linux获取日志指定行数范围内的内容的主要内容,如果未能解决你的问题,请参考以下文章

常用python日期日志获取内容循环的代码片段

Linux Find命令查找指定时间范围内的文件的例子

linux中如何查看指定时间内的日志?如今天6月5日,我要查看6月1日的日志?

C# 获取一个指定范围内的随机日期函数代码

linux服务端日志中截取自己所需要的部分

linux 如何截取一段时间内log日志