码迷,mamicode.com
首页 > 其他好文 > 详细

sed正则匹配需要的字段

时间:2019-12-15 18:18:20      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:client   需要   com   ast   替换   除了   逗号   log   pre   

sed除了常用的文本替换之外,还可以通过正则表达取出需要的字段,具体操作如下:

head -n 20 /data/logs/nginx.log |sed 's/\([^ ]*\) .*\(imei\=[^&]*\).*/\1,\2/'
# 过虑前:
125.126.250.49 - - [09/Jul/2015:00:00:01 +0800] "GET /client/spiritscreen/recommend?version=12.150417&imei=51B5ECC4A771CEF1D3BA81B34F4416C0&channelId=jltop_m_scb07&p=com.GreanMaster.pixelmonmcpecraftrun2 HTTP/1.0" 200 0.032 938 "-" "-" "125.126.250.49" "-" "-"
# 过虑后:
125.126.250.49,imei=51B5ECC4A771CEF1D3BA81B34F4416C0
# 其中:
[^ ]:表示匹配非空
\1,\2:表示取出前面括号内的对应内容,并逗号隔开

sed正则匹配需要的字段

标签:client   需要   com   ast   替换   除了   逗号   log   pre   

原文地址:https://www.cnblogs.com/jiba/p/12045111.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!