代码: 全选
sed -nr '/simple\/play\.jsp/s#.+\[(.+)\].+ChannelID=(.+)&loginName=(.+)&ip=(.+)\s+HTTP.+#\1,\2,\3,\4#p' 1.log
代码: 全选
sed -nr '/simple\/play\.jsp/s#.+\[(.+)\].+ChannelID=(.+)&loginName=(.+)&ip=(.+)\s+HTTP.+#\1,\2,\3,\4#p' 1.log
fnan 写了:#根据LZ的数据样本,结构是固定的,用简单匹配:
kose5@kose5-Aspire-4552:~$ time sed -nr 's#.*\[(.*)\].*=([^&]+).*=([^&]+).*=([^ ]+).*#\1,\2,\3,\4#p' log.txt
15/Sep/2011:22:53:02 +0800,1,48390800,114.228.5.230
15/Sep/2011:22:53:02 +0800,1,56538290,122.66.196.28
15/Sep/2011:22:53:04 +0800,9,49111797,113.52.4.167
15/Sep/2011:22:53:09 +0800,1,65738998,121.36.157.47
15/Sep/2011:22:53:09 +0800,8,66343666,131.128.129.219
real 0m0.015s
user 0m0.000s
sys 0m0.010s
kose5@kose5-Aspire-4552:~$ time sed -nr 's#.*\[(.*)\].*=([^&]+).*=([^&]+).*=([^ ]+).*#\1,\2,\3,\4#p' 1.log|wc -l #1.log已扩展为两万行。
10005
real 0m0.986s
user 0m0.980s
sys 0m0.010s
kose5@kose5-Aspire-4552:~$