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