sed正则匹配需要的字段
Posted jiba
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sed正则匹配需要的字段相关的知识,希望对你有一定的参考价值。
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正则匹配需要的字段的主要内容,如果未能解决你的问题,请参考以下文章