- 论坛徽章:
- 0
|
本帖最后由 urok 于 2015-09-02 17:36 编辑
看官好,小弟想从日志文件中根据行头行尾截取其中多行信息,文本例子如下:- [DEBUG]|2015-09-02 00:09:17,945||Processor.java:174|==> 获取数据 count=1 cost=73ms
- ......(此处省略N行)
- RESPONSE STRING:
- ------------------------------------------------------------
- {ID=["1915090201504937"], MD5_CHECK=["8A344523332566EFCBBA1A30CE6A4007"], STATE=["22"], CODE=["T4011003"], PASSWORD=[""], X_RSPCODE=["0000"], X_RSPDESC=["success"], X_RESULTINFO=["success"], X_RESULTCODE=["0"]}
- Name OCC VALUE
- ------------------ ---- ------------------------------
- ACCEPT_DATE 0 20150902001051
- ACCEPT_MONTH 0 9
- ACTIONCODE 0 0
- ACTION_REASON 0
- ......(此处省略N行)
- =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
- [DEBUG]|2015-09-02 00:09:19,164||Sender.java:127|==> [chgDataVO2Send]发送批量报文: cost=677ms
- [ INFO]|2015-09-02 00:09:19,164|9020009190990004 MsgTranslator.java:90|==> rspCode:0000
复制代码 需截取从“MD5_CHECK=”这行开始,到“=*=*”这行为止,我在centos中写了个脚本:- sed -n '/MD5_CHECK=\[\"$2/{:a;N;/=\*/!ba;p;q}' $file
复制代码 能达到我想要的效果,但到了AIX中就不行了,提示:
sed: The label /MD5_CHECK=\[\"$2/{:a;N;/=\*/!ba;p;q} is greater than eight characters.
求助,能实现就行,不限于sed,不甚感激! |
|