2016-09-17 94 views
-1

我想更容易找到特定用戶的日誌,並且我只希望對包含字符串15120000000的部分進行grep /過濾。部分是以時間戳開始的行(在這個例子中9月16日19點31分46秒,或者它可能是從「9月16日」開始的日程表)。有沒有可能使用grep或awk?預先感謝所有的幫助。只包含特定字符串的文件的grep部分

這是日誌示例。

Sep 16 19:31:46 da1psbc05pev kamailio[31135]: INFO: <script>: onreply_route Rcvd [487] response from[25.11.214.107:5061] MsgId[6384483] From[sip:[email protected]] callid[[email protected]] 

SIP/2.0 487 Request Terminated 
From: "TAC Offnet"<sip:[email protected]>;tag=B251F2AD-C3A0DEEC 
To: <sip:[email protected];user=phone>;tag=dc25d928-0-13c4-6006-cb98c-2310cd2b-cb98c 
Call-ID: [email protected] 
CSeq: 1 INVITE 
Via: SIP/2.0/TLS 25.11.214.72:5061;alias;rport=54928;branch=z9hG4bKbbd9.62d12aaf57f6574fd99b719735009993.0;i=4e0f7 
Via: SIP/2.0/TLS 192.168.1.58:36304;received=199.199.199.122;rport=36304;branch=z9hG4bK47084e2320E46012 
Supported: timer,replaces,info 
User-Agent: compGear/21.79.9310.0 (compTel 15) 
Content-Length: 0 

Sep 16 19:31:46 DaHostname kamailio[31135]: : <core> [msg_translator.c:553]: lump_check_opt(): ERROR: lump_check_opt: null send socket 
Sep 16 19:31:46 DaHostname kamailio[31135]: : <core> [msg_translator.c:553]: lump_check_opt(): ERROR: lump_check_opt: null send socket 
Sep 16 19:31:46 DaHostname kamailio[31135]: INFO: <script>: onsend_route Dumping MsgId[6384483] sending to[199.199.199.122:36304] size[556] callid[[email protected]] 

SIP/2.0 487 Request Terminated 
Record-Route: <sip:25.11.214.72:5061;transport=tls;transport=tls;lr=on> 
From: "TAC Offnet"<sip:[email protected]>;tag=B251F2AD-C3A0DEEC 
To: <sip:[email protected];user=phone>;tag=dc25d928-0-13c4-6006-cb98c-2310cd2b-cb98c 
Call-ID: [email protected] 
CSeq: 1 INVITE 
Via: SIP/2.0/TLS 192.168.1.58:36304;received=199.199.199.122;rport=36304;branch=z9hG4bK47084e2320E46012 
Supported: timer,replaces,info 
User-Agent: CompGear/21.79.9310.0 (CompTel 15) 
Content-Length: 0 


Sep 16 19:31:46 DaHostname kamailio[31141]: INFO: <script>: onreply_route Rcvd OPTIONS [200] response from[201.125.123.125:46518] MsgId[6331041] From[sip:sips:3] callid[CompTel_1474068706-1077690787] 
+0

顯示給定的輸入的預期輸出,所以我們沒有猜測。 –

+0

可能是我不夠清楚。這給了我我想要的東西。 awk'BEGIN {RS =「Sep 16」; ORS =「Sep」}/5120000000/{print}'/ var/log/log 我使用日期部分作爲時間戳記作爲記錄分隔符(9月16日),然後根據數字512000000選擇記錄。工作很好。 現在,有沒有辦法讓它動態?我如何讓RS選擇從1月到12月的任何值?謝謝。 –

+0

閱讀[問],瞭解你錯在哪裏。 –

回答

2

假設部分與一個或多個空行

$ awk -v RS= '/15120000000/' file 

分離應該做

-1

感謝您的回答。這給了我我想要的東西。

awk'BEGIN {RS =「Sep 16」; ORS =「Sep」}/5120000000/{print}'/ var/log/log

我使用日期部分作爲時間戳作爲記錄分隔符(9月16日),然後基於數字512000000選擇記錄。部分工作相當不錯。

現在,有沒有辦法讓它動態?我如何讓RS選擇從1月到12月的任何值?謝謝。

相關問題