本帖最后由 定海偶然 于 2015-7-1 17:49 编辑
202.69.15.84 30/Jun/2015:00:00:07 +0800 POST /androidplus/?c=plug3&a=request HTTP/1.1 operator=41006&uid=297683399&IMEI=351653062255568&IMSI=410060528425495&counrty=US&language=en&sdcard=true&screenType=480*800*1.5*240&vercode=52&androidVersion=15&androidId=239ee2129ff85ef4&appvercode=2&appPackname=com.playgame.good.tankwars3D&macAddr=08%3AFD%3A0E%3A3C%3AF9%3A84&uuid=00000000-1490-1f98-d1ca-80cc50b0518d&channelId=0000001&gameId=262&cpId=001&promoterId=011&netgame=false&accessTime=-5 Apache-HttpClient/Android
39.177.39.14 30/Jun/2015:00:00:07 +0800 POST /androidplus/?c=plug3&a=request HTTP/1.1 channelId=0000002&gameId=228&cpId=001&promoterId=011&netgame=false&uid=325903320&operator=46002&IMEI=352419060514474&IMSI=460022079437457&counrty=CN&language=zh&sdcard=true&androidVersion=19&vercode=112&uuid=00000000-689c-02ed-b229-55977dbfca2e&androidId=a9a702cb48cdd838&appvercode=4&appvername=1.0.3&appPackname=com.joym.happybubble.lt&macAddr=14%3AB4%3A84%3A6D%3A6B%3A39&accounts=&accessTime=-5 Apache-HttpClient/Android
以上是日志中的2段,要求提取出红色字体哦!
注意,该日志文件大小为50G,
该怎么写?
202.69.15.84 30/Jun/2015:00:00:07 +0800 POST /androidplus/?c=plug3&a=request HTTP/1.1 operator=41006&uid=297683399&IMEI=351653062255568&IMSI=410060528425495&counrty=US&language=en&sdcard=true&screenType=480*800*1.5*240&vercode=52&androidVersion=15&androidId=239ee2129ff85ef4&appvercode=2&appPackname=com.playgame.good.tankwars3D&macAddr=08%3AFD%3A0E%3A3C%3AF9%3A84&uuid=00000000-1490-1f98-d1ca-80cc50b0518d&channelId=0000001&gameId=262&cpId=001&promoterId=011&netgame=false&accessTime=-5 Apache-HttpClient/Android
39.177.39.14 30/Jun/2015:00:00:07 +0800 POST /androidplus/?c=plug3&a=request HTTP/1.1 channelId=0000002&gameId=228&cpId=001&promoterId=011&netgame=false&uid=325903320&operator=46002&IMEI=352419060514474&IMSI=460022079437457&counrty=CN&language=zh&sdcard=true&androidVersion=19&vercode=112&uuid=00000000-689c-02ed-b229-55977dbfca2e&androidId=a9a702cb48cdd838&appvercode=4&appvername=1.0.3&appPackname=com.joym.happybubble.lt&macAddr=14%3AB4%3A84%3A6D%3A6B%3A39&accounts=&accessTime=-5 Apache-HttpClient/Android
以上是日志中的2段,要求提取出红色字体哦!
注意,该日志文件大小为50G,
该怎么写?
0
awk '{ip=$1;sub(/.*&IMEI=/,"IMEI=",$0);sub(/&IMSI=.*/,"",$0);print ip,$0 >> "result.txt"}' file
50g 可能需要几十分钟
50g 可能需要几十分钟
0
本帖最后由 定海偶然 于 2015-7-1 17:58 编辑
牛牛!! 时间这么长,不会宕机吧,8G内存!
我记得,awk后面在加上排序,去重,那铁定会宕机{:4_107:}
但是执行的结果,并不是太好!日志文档我取了50行
aqi 发表于 2015-7-1 13:14
awk '{ip=$1;sub(/.*&IMEI=/,"IMEI=",$0);sub(/&IMSI=.*/,"",$0);print ip,$0 >> "result.txt"}' file
50g ...
牛牛!! 时间这么长,不会宕机吧,8G内存!
我记得,awk后面在加上排序,去重,那铁定会宕机{:4_107:}
但是执行的结果,并不是太好!日志文档我取了50行
0
排序不清楚 单独运行这个应该是不耗内存的 输出后的内容应该只有几个g吧 可以再做后续的过滤
定海偶然 发表于 2015-7-1 13:37
牛牛!! 时间这么长,不会宕机吧,8G内存!
我记得,awk后面在加上排序,去重,那铁定会宕机
...
排序不清楚 单独运行这个应该是不耗内存的 输出后的内容应该只有几个g吧 可以再做后续的过滤
0
本帖最后由 定海偶然 于 2015-7-1 14:24 编辑
我截取了50行,做了下实验,发现,有的行信息出来的不是IMEL
结果应该像这样的形式
aqi 发表于 2015-7-1 14:21
排序不清楚 单独运行这个应该是不耗内存的 输出后的内容应该只有几个g吧 可以再做后续的过滤
我截取了50行,做了下实验,发现,有的行信息出来的不是IMEL
结果应该像这样的形式
0
结果不理想 是因为你之前给的例子不完全 有些行里没有IMEI= 这个字段 不知道你需要如何过滤 没有这个字段的行?
定海偶然 发表于 2015-7-1 13:37
牛牛!! 时间这么长,不会宕机吧,8G内存!
我记得,awk后面在加上排序,去重,那铁定会宕机
...
结果不理想 是因为你之前给的例子不完全 有些行里没有IMEI= 这个字段 不知道你需要如何过滤 没有这个字段的行?
0
awk '{if($0!~/&IMEI=/){print $1 >>"result.txt";next}ip=$1;sub(/.*&IMEI=/,"IMEI=",$0);sub(/&IMSI=.*/,"",$0);print ip,$0 >> "result.txt"}' file
定海偶然 发表于 2015-7-1 14:28
那一行没有IMEL的话,就只提取IP
awk '{if($0!~/&IMEI=/){print $1 >>"result.txt";next}ip=$1;sub(/.*&IMEI=/,"IMEI=",$0);sub(/&IMSI=.*/,"",$0);print ip,$0 >> "result.txt"}' file
0
大神,请收下我的膝盖!!!{:4_116:}
aqi 发表于 2015-7-1 14:31
awk '{if($0!~/&IMEI=/){print $1 >>"result.txt";next}ip=$1;sub(/.*&IMEI=/,"IMEI=",$0);sub(/&IMSI=.* ...
大神,请收下我的膝盖!!!{:4_116:}
0
唉,人家的awk,好牛逼啊,真羡慕~我啥时也能这么厉害呢!
aqi 发表于 2015-7-1 14:31
awk '{if($0!~/&IMEI=/){print $1 >>"result.txt";next}ip=$1;sub(/.*&IMEI=/,"IMEI=",$0);sub(/&IMSI=.* ...
唉,人家的awk,好牛逼啊,真羡慕~我啥时也能这么厉害呢!
0
本帖最后由 aqi 于 2015-7-1 18:41 编辑
awk '{if($0~/&IMEI=.*&gameId=/){ip=$1;line=$0;sub(/.*gameId=/,"",line);sub(/&cpId=.*/,"",line);if(line<42){sub(/.*&IMEI=/,"IMEI=",$0);sub(/&IMSI=.*/,"",$0);print ip,$0,line >> "result.txt"}}}' file
awk '{if($0~/&IMEI=.*&gameId=/){ip=$1;line=$0;sub(/.*gameId=/,"",line);sub(/&cpId=.*/,"",line);if(line<42){sub(/.*&IMEI=/,"IMEI=",$0);sub(/&IMSI=.*/,"",$0);print ip,$0,line >> "result.txt"}}}' file
0
标记一下:这行命令是提取
gameid<=42的IP和IMEI
aqi 发表于 2015-7-1 18:36
awk '{if($0~/&IMEI=.*&gameId=/){ip=$1;line=$0;sub(/.*gameId=/,"",line);sub(/&cpId=.*/,"",line);if(li ...
标记一下:这行命令是提取
gameid<=42的IP和IMEI
编辑回复