2012-12-13 56 views
-2

我對Powershell相當陌生,但我有一個相當有趣的問題。我有一個包含不同IP地址的日誌文件。日誌文件的最大部分是localhost生成的內容。從一個IP地址中選擇所有不同的IP地址

我想篩選所有那些不是來自某個本地主機ip的條目。

我該如何做到這一點與REGEXs或有一個更優雅的解決方案?

乾杯

回答

0

選擇與特定IP試線:

get-content c:\mylogfile.log | select-string -pattern '192.168.1.100' 

選擇線沒有一個特定的IP嘗試:

get-content c:\mylogfile.log | ? { $_ -notmatch '192.168.1.100' } 

選擇線沒有particalr IP,但與至少一個ip試試:

get-content c:\mylogfile.log | ? { $_ -notmatch '192.168.1.100' } | 
? { $_ -match '\b(?:\d{1,3}\.){3}\d{1,3}\b' } 
+0

據我瞭解,我會選擇每行包含IP地址192.168.1.100?但我想選擇不包含該特定IP地址的EVERY行。 – theXs

+0

第二個代碼顯示沒有IP的行 - 但許多行根本不包含IP。 get-content。\ extracted_ip_addresses.txt | (?!(127 \ .0 \ .0 \ .1))(\ b \ d {1,3} \。\ d {1,3} \。\ d {1,3} \。\ d {1,3} \ b)'正在做我想要的:)。 – theXs