-2

我对 Powershell 还很陌生,但我遇到了一个相当有趣的问题。我有一个包含不同 IP 地址的日志文件。日志文件的最大部分是 localhost 生成的内容。

我想过滤所有那些不是来自某个本地主机 ip 的条目。

我将如何使用正则表达式来做到这一点,或者是否有更优雅的解决方案?

干杯

4

1 回答 1

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' }

选择没有特定 ip 但至少有 ip 的行尝试:

 get-content c:\mylogfile.log | ? { $_ -notmatch '192.168.1.100' } |
? { $_ -match '\b(?:\d{1,3}\.){3}\d{1,3}\b' }
于 2012-12-13T10:35:57.787 回答