我有一个示例日志文件,如下所示
02:49:12 127.0.0.1 GET / 200
02:49:35 127.0.0.1 GET /index.html 200
03:01:06 127.0.0.1 GET /images/sponsered.gif 304
03:52:36 127.0.0.1 GET /search.php 200
04:17:03 127.0.0.1 GET /admin/style.css 200
05:04:54 127.0.0.1 GET /favicon.ico 404
05:38:07 127.0.0.1 GET /js/ads.js 200
我使用下面的模式来匹配40x错误,但它没有返回任何结果。\s是匹配任何空格。
get-childitem -filter *.log -recurse | select-string -pattern "\s40[0-9]\s"
我不明白为什么它不起作用。有人能帮忙澄清一下吗?
1条答案
按热度按时间pftdvrlh1#
末尾没有空格。看起来select-string的行为类似于get-content,阅读每一行而不包括行尾。
它可以和get-content -raw一起工作,行尾是一个空格(\r\n),但是它会返回整个文件,Powershell 7会高亮显示匹配项。