1. 先過濾原始文件中不需要的內(nèi)容——含有"@_@rm"的行,使用ag 的-v選項過濾掉:
ag -v "@_@rm" mobai-resultmedia.txt > mobai-resultmedia_norm.txt
注意:ag比grep快夸溶,所以用ag逸吵。 上面生成的文件每行會有其在源文件中的行號
2. 檢查下生成的文件:
2210 $ head -2 mobai-resultmedia_norm.txt
3:2017-06-01/conversion.log_2017-06-01T17:2017-06-01T17:51:51.889+08:00@_@{os=iphone, ip=117.136.8.78, ts10=1496308916, clickid=666c45_P24P19R4963089135815383153_1496308916481, source=talkingdata, ua=Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_2 like Mac OS X) AppleWebKit/603.2.4 (KHTML, offer_id=666, os_v=10.3.2, mode=0, sectime=175151, daytime=20170601, n_id=45, ts=1496308916481, cid=P24P19R4963089135815383153}@_@http://px.resultsmedia.com/srv/px.php?px=1358&t=0&pt=1&adv_id=2776&subid=P24P19R4963089135815383153&offerid=666
5:2017-06-01/conversion.log_2017-06-01T17:2017-06-01T17:46:26.81+08:00@_@{os=iphone, ip=112.12.246.144, ts10=1496308597, clickid=666c45_P24P48R4963085974429795014_1496308597485, source=talkingdata, ua=Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, offer_id=666, os_v=10.3.1, mode=0, sectime=174626, daytime=20170601, n_id=45, ts=1496308597485, cid=P24P48R4963085974429795014}@_@http://px.resultsmedia.com/srv/px.php?px=1358&t=0&pt=1&adv_id=2776&subid=P24P48R4963085974429795014&offerid=666
3. 對上述文件中每一行,只提取datetime,ip,os_v的內(nèi)容缝裁。
所以寫下如下別名/函數(shù):
function daytimeiposv(){ awk 'BEGIN{FS=OFS=","}{for(i=1;i<=NF;i++){if($i ~ /os_v=|ip=|daytime=/)lines=lines","$i;};print lines;lines=""}' $@;}
注意:盡管指定OFS=",",如果不寫成 lines=lines","$i 扫皱,輸出的分隔符還是空格,為何捷绑?awk版本原因啸罢?
4. 使用上述函數(shù)測試 :
head -3 mobai-resultmedia_norm.txt|daytimeiposv
, ip=117.136.8.78, os_v=10.3.2, daytime=20170601
, ip=112.12.246.144, os_v=10.3.1, daytime=20170601
, ip=117.136.79.80, os_v=10.3.2, daytime=20170601
5. 結(jié)果符合要求(使用逗號分割,方便直接當(dāng)做csv文件使用excel打開)胎食。
直接執(zhí)行命令得到目標(biāo)文件:
daytimeiposv mobai-resultmedia_norm.txt > mobai-resultmedia_norm_daytime_ip_osv.txt
6. 檢查目標(biāo)文件內(nèi)容正確性:
tail -2 mobai-resultmedia_norm_daytime_ip_osv.txt
, ip=223.72.164.22, os_v=10.3.2, daytime=20170630
, ip=223.104.174.89, os_v=10.1.1, daytime=20170630
head -2 mobai-resultmedia_norm_daytime_ip_osv.txt
, ip=117.136.8.78, os_v=10.3.2, daytime=20170601
, ip=112.12.246.144, os_v=10.3.1, daytime=20170601