- 论坛徽章:
- 0
|
本帖最后由 sihouzhao 于 2014-07-22 09:51 编辑
处理前- 61.165.255.92 - - [28/Jun/2014:09:00:00 +0800] "GET http://download.****.com/url/Hh_40.png HTTP/1.1" 200 88025 "-" "Dalvik/1.6.0 (Linux; U; Android 4.3; GT-I9500 Build/JSS15J)" TCP_REFRESH_UNMODIFIED:FIRST_UP_PARENT download.****.com
复制代码 处理后
- 省 市 供应商 大小
- 广东 惠州 电信 55532
复制代码 我自己写的- head -10000 flog.log | awk '{print $1,$10}' | nali | awk -F '[[ ]' '{if(match($2,/省/)>0){if(substr($2,match($2,/省/)+1,2)){print substr($2,0,2),substr($2,match($2,/省/)+1,2),$3,$4}else{print substr($2,0,2),substr($2,0,2),$3,$4}}else{print substr($2,0,2),substr($2,0,2),$3,$4}}' | awk '{if(NF<4){print $1,$2" 其他 "$3}else{if($3~/电信/){print $1,$2" 电信 "$NF}else if($3~/铁通/){print $1,$2" 铁通 "$NF}else if($3~/联通/){print $1,$2" 联通 "$NF}else if($3~/网通/){print $1,$2" 网通 "$NF}else if($3~/移动/){print $1,$2" 移动 "$NF}else{print $1,$2" 其他 "$NF}}}' > b.txt
复制代码 能达到效果 ,就是效率 差的我 不忍直视,各位大牛看能不能给改下。,或者 介绍个别的方法。小弟 道术不精,莫嘲讽
处理前的文本其实 是 日志 ,像 apache什么的 。日志 根据 空格截取,其中 $1是 ip $10是访问大小 ,我先 awk取出 $1和 $10然后 用 nali命令 获取ip归属地 ,然后的到- 180.213.33.16[天津市 电信] 167
复制代码 处理后我要得到我上边自己写的能达到效果 就是处理上万 条太差,各位大牛看能不能给改下。,或者 介绍个别的方法。小弟 道术不精,莫嘲讽 |
|