亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
急 access.log 的日志怎么分拆啊
[打印本頁]
作者:
wzltian
時間:
2013-12-19 11:36
標(biāo)題:
急 access.log 的日志怎么分拆啊
有個access.log的日志,格式如下
123.12.67.123 - - 2013-12-15 11:42:22 "GET /index.do HTTP/1.0" 302 67 "http://aa.bb.cc/register.do?jwd=42ide" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" "126.23.22.11" "113.222.45.227, 127.0.0.1"
122.12.67.123 - - 2013-12-15 11:42:22 "POST /accl.do?name=232 HTTP/1.0" 302 67 "http://aa.bb.cc/querylist.do" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" "126.23.22.11" "113.222.45.227, 127.0.0.1"
132.12.67.123 - - 2013-12-15 11:42:22 "GET /baxe.do?a=12 HTTP/1.0" 302 67 "http://aa.bb.cc/register.do?jwd=gyujhf" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" "126.23.22.11" "113.222.45.227, 127.0.0.1"
122.12.67.123 - - 2013-12-15 11:42:22 "GET /ccdw.do HTTP/1.0" 302 67 "http://aa.bb.cc/register.do?jwd=werrrr" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" "126.23.22.11" "113.222.45.227, 127.0.0.1"
如何用shell分析后的結(jié)果如下啊,這個shell怎么寫呢
123.12.67.123|/index.do|
http://aa.bb.cc/register.do
|113.222.45.227
132.12.67.123|/accl.do|
http://aa.bb.cc/querylist.do
|113.222.45.227
132.12.67.123|/baxe.do|
http://aa.bb.cc/register.do
|113.222.45.227
作者:
rabinwang
時間:
2013-12-19 11:42
有點(diǎn)小麻煩,,,思路: 先按照空格取你想要的field,,,,,在field里過濾你想要的字符串,,,,然后拼接
作者:
jason680
時間:
2013-12-19 12:01
本帖最后由 jason680 于 2013-12-19 12:01 編輯
回復(fù)
1#
wzltian
$ awk -F'[ ,?"]+' -vOFS="|" '{for(n=1;n++<NF;)if($n~/http:/){W=$n;n=NF};print $1,$7,W,$(NF-2)}' access.log
123.12.67.123|/index.do|
http://aa.bb.cc/register.do
|113.222.45.227
122.12.67.123|/accl.do|
http://aa.bb.cc/querylist.do
|113.222.45.227
132.12.67.123|/baxe.do|
http://aa.bb.cc/register.do
|113.222.45.227
122.12.67.123|/ccdw.do|
http://aa.bb.cc/register.do
|113.222.45.227
作者:
wzltian
時間:
2013-12-19 12:29
謝謝 jason680,你這個例子真是簡練, 如果再增加2個條件
1、 如果是url只取
http://aa.bb.cc/xxx.do
開頭的,其他的url都過濾,比如過濾掉
http://www.soport.cn/
等,這個怎么寫呢?
2、 后面有3個ip,其中,第三個是我想要的,但若有后面的第三個ip有時會沒有
這是我現(xiàn)在遇到的真實(shí)情況,這個怎么寫呢? 盼復(fù)
123.12.67.123 - - 2013-12-15 11:42:22 "GET /index.do HTTP/1.0" 302 67 "http://www.soport.cn/register.do?jwd=42ide" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" "126.23.22.11" "113.222.45.227, "
122.12.67.123 - - 2013-12-15 11:42:22 "POST /accl.do?name=232 HTTP/1.0" 302 67 "http://aa.bb.cc/querylist.do" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" "126.23.22.11" "113.222.45.227, 127.0.0.1"
132.12.67.123 - - 2013-12-15 11:42:22 "GET /baxe.do?a=12 HTTP/1.0" 302 67 "http://aa.bb.cc/register.do?jwd=gyujhf" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" "126.23.22.11" "113.222.45.227, 127.0.0.1"
122.12.67.123 - - 2013-12-15 11:42:22 "GET /ccdw.do HTTP/1.0" 302 67 "http://aa.bb.cc/register.do?jwd=werrrr" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" "126.23.22.11" "113.222.45.227, 127.0.0.1"
作者:
reyleon
時間:
2013-12-19 14:09
回復(fù)
4#
wzltian
sed -r 's#([^ ]+).*[(GET|POST)] +/([^ ?]+).*(http://[^(?|")]+).*" +"([^,]+).*#\1|\2|\3|\4#g' file
復(fù)制代碼
作者:
jason680
時間:
2013-12-19 14:13
本帖最后由 jason680 于 2013-12-19 14:25 編輯
回復(fù)
4#
wzltian
$ awk -F'[ ,?"]+' -vOFS="|" '{for(n=1;n++<NF;)if($n~/http:/){if($n!~/aa\.bb\.cc/)next;W=$n;n=NF};IP=$(NF-3)~/\)$/?NF-2:NF-3;print $1,$7,W,$IP}' access.log
122.12.67.123|/accl.do|
http://aa.bb.cc/querylist.do
|126.23.22.11
132.12.67.123|/baxe.do|
http://aa.bb.cc/register.do
|126.23.22.11
122.12.67.123|/ccdw.do|
http://aa.bb.cc/register.do
|126.23.22.11
作者:
wzltian
時間:
2013-12-19 14:39
不好意思,我剛才沒有表達(dá)清楚 如果是url只取
http://aa.bb.cc/xxx.do
開頭的,其他的url都過濾,比如過濾掉
http://www.soport.cn/
等,這個怎么寫呢?
123.12.67.123 - - 2013-12-15 11:42:22 "GET /index.do HTTP/1.0" 302 67 "http://www.soport.cn/register.do?jwd=42ide" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" "126.23.22.11" "113.222.45.227, "
122.12.67.123 - - 2013-12-15 11:42:22 "POST /accl.do?name=232 HTTP/1.0" 302 67 "http://aa.bb.cc/querylist.do" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" "126.23.22.11" "113.222.45.227, 127.0.0.1"
132.12.67.123 - - 2013-12-15 11:42:22 "GET /baxe.do?a=12 HTTP/1.0" 302 67 "http://aa.bb.cc/register.do?jwd=gyujhf" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" "126.23.22.11" "113.222.45.227, 127.0.0.1"
122.12.67.123 - - 2013-12-15 11:42:22 "GET /ccdw.do HTTP/1.0" 302 67 "http://aa.bb.cc/register.do?jwd=werrrr" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" "126.23.22.11" "113.222.45.227, 127.0.0.1"
----------------- 過濾掉不是以
http://aa.bb.cc
這些url請求的,即只要
http://aa.bb.cc
這樣的請求。 下面是我想要的結(jié)果----------
2013-12-15 11:42:22|/accl.do|
http://aa.bb.cc/querylist.do
|126.23.22.11
2013-12-15 11:42:22|/baxe.do|
http://aa.bb.cc/register.do
|126.23.22.11
2013-12-15 11:42:22|/ccdw.do|
http://aa.bb.cc/register.do
|126.23.22.11
作者:
q1208c
時間:
2013-12-19 14:54
我覺得樓主的問題如果用 perl 來寫一段 會比較容易. 用 shell 來處理一次還可以, 以后要維護(hù)的話, 成本可能不低于 perl.
作者:
wzltian
時間:
2013-12-19 15:52
回復(fù)
6#
jason680
謝謝了,剛看到你回復(fù)
作者:
wzltian
時間:
2013-12-19 15:54
回復(fù)
5#
reyleon
謝謝啊,你的這個方法也好
作者:
reb00t
時間:
2013-12-20 19:33
awk 'BEGIN{OFS="|"}{gsub(/?.*/,"",$7);gsub(/?.*|"/,"",$11);gsub(/,127.0.0.1|"/,"",$NF);print $1,$7,$11,$NF}'
復(fù)制代碼
123.12.67.123|/index.do|http://aa.bb.cc/register.do|113.222.45.227
122.12.67.123|/accl.do|http://aa.bb.cc/querylist.do|113.222.45.227
122.12.67.123|/ccdw.do|http://aa.bb.cc/register.do|113.222.45.227
復(fù)制代碼
歡迎光臨 Chinaunix (http://www.72891.cn/)
Powered by Discuz! X3.2