亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
awk腳本中使用posix
[打印本頁]
作者:
unixgiant
時間:
2010-08-05 15:01
標(biāo)題:
awk腳本中使用posix
awk命令行中可以使用--posix參數(shù),來讓awk支持\{\},可是在腳本里面怎么使用posix呢?
麻煩各位大俠了
作者:
bbgg1983
時間:
2010-08-05 15:08
./script.sh --posix urfile
復(fù)制代碼
作者:
unixgiant
時間:
2010-08-05 15:14
#!/usr/bin/awk -f
BEGIN{
"date +%m%d" | getline today
cdn_name="chinacache"
}
/^[0-9]+\.[0-9]+ /{
time=strftime("%H:%M",$1)
gsub(/"/,"",$11)
split($4,code,"/")
field[code[2]" "$3" "$7" "$11" "time]++
}
END{
for(i in field){
split(i,insert," ")
printf("insert into %s (code,ip,times,cdn_name,file,url,access_time) values ('%s','%s','%s','%s','%s','%s','%s');\n","t_"today,insert[1],insert[2],field[i],cdn_name,insert[3],insert[4],insert[5]);
}
}
作者:
unixgiant
時間:
2010-08-05 15:15
這是我的腳本內(nèi)容,
/^[0-9]+\.[0-9]+ /是一個不精確的匹配,想用\{\}來精確一下
作者:
unixgiant
時間:
2010-08-05 15:32
1280762136.672 5378 116.28.219.225 TCP_HIT/206 63856 GET
http://my.test.com/abc.exe
- NONE/- application/octet-stream "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)" _st%5B_utid_%5D=2461689430
這是日志文件中我需要處理的行
作者:
bbgg1983
時間:
2010-08-05 15:42
回復(fù)
5#
unixgiant
要處理成什么樣?
作者:
lkk2003rty
時間:
2010-08-05 15:47
為啥非要寫在腳本里 腳本里只寫awk語句 然后執(zhí)行的時候awk --posix -f script file
不就是了
作者:
unixgiant
時間:
2010-08-05 16:01
通過腳本處理后是
insert into t_0805 (code,ip,times,cdn_name,file,url,access_time) values ('206','116.28.219.225','1','chinacache','http://my.test.com/abc.exe','-','23:15');
加個管道,直接插到mysql里,
awk --posix -f script file 這種方法我試了一下,有報錯:
文件內(nèi)容:(文件名為t)
# cat t
1280762136.672 5378 116.28.219.225 TCP_HIT/206 63856 GET
http://my.test.com/abc.exe
- NONE/- application/octet-stream "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)" _st%5B_utid_%5D=2461689430
腳本內(nèi)容:(腳本名為a.awk)
# cat a.awk
{
print strftime("%H:%M",$1)
}
運行結(jié)果:
# awk --posix -f a.awk t
awk: a.awk:2: (FILENAME=t FNR=1) fatal: function `strftime' not defined
# awk -f a.awk t
23:15
作者:
ly5066113
時間:
2010-08-05 18:44
回復(fù)
8#
unixgiant
想要使用 \{ \} ,同時又要保留 GNU awk 的拓展,那么就需要使用
--re-interval
作者:
unixgiant
時間:
2010-08-05 19:43
多謝高手。。。
歡迎光臨 Chinaunix (http://72891.cn/)
Powered by Discuz! X3.2