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
男:浅浅岁月拂满爱人袖

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM