2016-09-14 76 views
0

尋找合適的正則表達式過濾掉各種IP地址:過濾掉某個IP adreess

可以說我有這樣的日誌文件:

Sep 14 12:37:03 100.100.100.145:64439 -> 180.180.150.2:25 (TCP) SMTP 
Sep 14 15:36:01 100.100.100.145:64439 -> 180.180.180.2:25 (TCP) SMTP 
Sep 14 12:37:03 100.100.100.145:64439 -> 180.180.180.2:25 (TCP) SMTP 
Sep 14 15:36:01 100.100.100.145:64439 -> 180.180.180.2:25 (TCP) SMTP 
Sep 14 12:37:03 100.100.100.145:64439 -> 180.180.180.2:25 (TCP) SMTP 
Sep 14 15:36:01 100.100.100.145:64439 -> 180.180.180.2:25 (TCP) SMTP 

我真的能夠搜索:

\b180\.180\.180\.2\:25\b.*SMTP 

但我想找到什麼不是我的權利SMTP服務器,所以我尋找一個「消極的詞邊界」。

對此有何建議?

+0

你使用'grep'嗎?如果你想找到所有不匹配的東西,請使用'grep -v ' –

+0

我不使用grep,不適用。 – user3186759

+0

你的編程語言是什麼? – Jan

回答

0
awk '$6 ~ /^180\.180\.1[58]0\./ && $6 !~ /\.180\.2:25$/ && $8 == "SMTP"' 

將打印與第一個正則表達式匹配而不是第二個正則表達式的行。

你的問題不能揭示這是否正是你想要的,但它應該有希望讓你開始。