PowerShell FINDSTR等价吗?

时间:2020-03-05 18:40:24  来源:igfitidea点击:

什么是PowerShell的DOS FINDSTR等效项?我需要搜索一堆日志文件中的"错误"。

解决方案

回答

这是快速答案

Get-ChildItem -Recurse -Include *.log | select-string ERROR

我在这里找到了一个非常深入的答案!

回答

if ($entry.EntryType -eq "Error")

由于是面向对象的,我们想要使用可以在此处找到的标准比较运算符之一来测试有问题的属性。

我现在有一个PS脚本可以为我远程监视日志,只需进行一些简单的修改就可以为我们工作。

编辑:我想我也应该添加一个cmdlet,如果我们不想按照我的方式展开它,则已经为此创建了一个cmdlet。退房:

man Get-EventLog
Get-EventLog -newest 5 -logname System -EntryType Error

回答

例如,在此目录和所有子目录的c文件中找到" #include"的所有实例。

gci -r -i *.c | select-string "#include"

gci是get-childitem的别名

回答

只是为了扩展Monroecheeseman的答案。 gci是Get-ChildItem的别名(等效于dir或者ls),-r开关进行递归搜索,-i表示包含。

将查询的结果传递到选择字符串后,它会读取每个文件并查找与正则表达式匹配的行(本例中提供的是ERROR,但可以是任何.NET正则表达式)。

结果将是匹配对象的集合,显示行匹配,文件和其他相关信息。