亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問板塊 發(fā)新帖
查看: 2968 | 回復(fù): 6
打印 上一主題 下一主題

如何從access.log中找出符合某個(gè)IP段集合的記錄 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2008-05-21 15:30 |只看該作者 |倒序?yàn)g覽
各位大俠, 我現(xiàn)在要從access.log 文件中找出 符合某個(gè)ip段集合的記錄, 具體文件如下
access.log

2008-05-19 00:00:00.85   INFO    211.94.164.200  2008-05-19 00:00:00             null                     
2008-05-19 00:00:00.94   INFO    211.139.189.37  2008-05-19 00:00:00             null                     
2008-05-19 00:00:00.101 INFO    218.205.237.42  2008-05-19 00:00:00             000000000000   
2008-05-19 00:00:00.161 INFO    211.140.3.110    2008-05-19 00:00:00             000000000000

其中第4個(gè)域?yàn)樵L問我的ip地址。 接下來的ip_addr_set為ip段的集合,如下:

ip_addr_set

211.95.
211.96.
220.196.52.
202.75.248.139
202.75.248.159

以點(diǎn)號(hào)結(jié)束的表示號(hào)段, 數(shù)字結(jié)束的表示一個(gè)單獨(dú)的IP。
能在access.log中找出ip 在 ip_addr_set中的記錄么??  

我自己能想的辦法是:
awk 'BEGIN{i=0; j=1}  NR=FNR{ i++; a=$4, b=$0 } NR!=FNR{ for(j=1;j<=i; j++)   if(a[j] ~ /*這里把ip_addr_set的ip變成一個(gè)正則表達(dá)式,但是這個(gè)正則表達(dá)式我不太知道寫*/) print b[j]}' access.log   ip_addr_set  

access.log 和ip_addr_set我都只列出了其中的一部分.............

現(xiàn)在主要的問題的把ip_addr_set這個(gè)里的每個(gè)記錄都變成 正則表達(dá)式的形式 ........
或者另外各位大俠還有什么更高明,或者更有效率的辦法, 也多多提供幫助啊, 先謝過了:)

論壇徽章:
11
金牛座
日期:2015-03-19 16:56:22數(shù)據(jù)庫(kù)技術(shù)版塊每日發(fā)帖之星
日期:2016-08-02 06:20:00數(shù)據(jù)庫(kù)技術(shù)版塊每日發(fā)帖之星
日期:2016-04-24 06:20:00數(shù)據(jù)庫(kù)技術(shù)版塊每日發(fā)帖之星
日期:2016-04-13 06:20:00IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-04-13 06:20:00數(shù)據(jù)庫(kù)技術(shù)版塊每日發(fā)帖之星
日期:2016-02-03 06:20:00數(shù)據(jù)庫(kù)技術(shù)版塊每日發(fā)帖之星
日期:2015-08-06 06:20:00季節(jié)之章:春
日期:2015-03-27 15:54:57羊年新春福章
日期:2015-03-27 15:54:37戌狗
日期:2015-03-19 16:56:41數(shù)據(jù)庫(kù)技術(shù)版塊每日發(fā)帖之星
日期:2016-08-18 06:20:00
2 [報(bào)告]
發(fā)表于 2008-05-21 15:35 |只看該作者
使用 grep -f ip_addr_set access.log
-f跟的是文件..

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2008-05-21 16:00 |只看該作者

  1. awk -v PAT=$(sed ':a;$!{N;ba;};s/\n/|/g' ipsetfile) '$4~PAT' logfile
復(fù)制代碼

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2008-05-21 16:15 |只看該作者

湊一個(gè)


  1. awk 'NR==FNR{a[$0]} NR!=FNR{for(i in a){ if($0~i)print } }'  ip_addr_set access.log
復(fù)制代碼

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2008-05-21 18:57 |只看該作者
原帖由 liaosnet 于 2008-5-21 15:35 發(fā)表
使用 grep -f ip_addr_set access.log
-f跟的是文件..



學(xué)一招g(shù)rep的這個(gè)用法,不ip_addr_set 里的是202.19. 諸如此類的字符串,我估計(jì). 在grep里被通配了.............所以把202.133.192.1這樣的ip也找出來了
不過還是謝謝你啦

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2008-05-21 18:59 |只看該作者
原帖由 springwind426 于 2008-5-21 16:00 發(fā)表

awk -v PAT=$(sed ':a;$!{N;ba;};s/\n/|/g' ipsetfile) '$4~PAT' logfile


謝謝啦, 我已經(jīng)在用上這個(gè)了, 而且用肉眼測(cè)試過輸出數(shù)據(jù)!
厲害啊, springwind大哥!  up up up

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2008-05-21 19:04 |只看該作者
原帖由 err7dd 于 2008-5-21 16:15 發(fā)表

awk 'NR==FNR{a[$0]} NR!=FNR{for(i in a){ if($0~i)print } }'  ip_addr_set access.log


理論上應(yīng)該是可以的,但是我執(zhí)行了40幾分鐘也沒出結(jié)果.........我之前寫的那個(gè)估計(jì)效率也一樣,但是我想結(jié)果應(yīng)該是正確 的
PS,我的access.log有300多萬條記錄
不過還是謝謝啦
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP