linux grep 經常使用格式

經常使用查看日誌的時候用的 grep 命令參數

grep -i 表示忽略大小寫

tail -f logs/server.log | grep -i  Roster  //表示模糊匹配匹配的是 從server.log 中查找 roster 忽略大小寫匹配的內容行

grep -A [number] [name] 表示查找文件中爲 name的行數據,以及該行的 下面 number行數據

tail -f logs/server.log | grep -A 2 roster //表示 模糊匹配 文件server.log中爲roster的數據,同時也獲取該數據下的2行數據

demo:

[root@WEBPORTAL RosterServer-1.1.0-SNAPSHOT]# tail -100 logs/server.log  | grep 'The Activity is not runing,Name:duan1 Status:-1'
2017-11-01 11:50:00,173 64392139 [tzScheduler_Worker-9] INFO  .orm.rosterServer.ActivityImpl (    67)  The Activity is not runing,Name:duan1 Status:-1

[root@WEBPORTAL RosterServer-1.1.0-SNAPSHOT]# tail -100 logs/orm.log  | grep -A 2 'The Activity is not runing,Name:duan1 Status:-1'
2017-11-01 11:55:00,334 64692300 [zScheduler_Worker-10] INFO  .orm.rosterServer.ActivityImpl (    67)  The Activity is not runing,Name:duan1 Status:-1
2017-11-01 11:55:00,334 64692300 [zScheduler_Worker-10] INFO  .orm.rosterServer.ActivityImpl (    67)  Activity duan1 checkTimeoutDailTask  
2017-11-01 11:55:00,335 64692301 [zScheduler_Worker-10] INFO  .orm.rosterServer.ActivityImpl (    67)  Activity duan5 insertActivityStat

grep -B [number] [name] 表示查找文件中爲 name的行數據,以及該行數據上的 number數據,格式和 -A 同樣

grep -C [number] [name] 表示查找文件中爲 name的行數據,以及該行數據上 和下 的 number數據,格式和 -A 同樣,至關於 -A -B的混合;

-A 表示的是 after -B 表示的 before -C表示的意思是 center

grep -v [name] 表示反轉內容;即表示 展現排除 符合 爲name 行的數據

date.log
#name = duan
#test=23
age = 12

cat date.log | grep -v '#' 展現內容爲:
age = 12

grep -c [name] 計算匹配項的數目

>> tail -100 logs/server.log | grep -c 'roster'
>> 100

grep -w [name] 精確匹配

>> //假如文件中有 單詞 runnable
>> tail -100 logs/server.log | grep 'run' 能夠匹配的到
>> tail -100 logs/server.log | grep -w 'run' 匹配不到

grep -n 表示顯示行數

>> tail -100 logs/server.log | grep -n 'run'  則會顯示行號 和行的內容
相關文章
相關標籤/搜索