Powershell-查找与特定次数的模式匹配的文件

Powershell-查找与特定次数的模式匹配的文件,powershell,Powershell,要在powershell中的一组文件中找到一个简单模式,我需要 $pattern= 'mypattern' $r= Get-ChildItem -Path "C:\.." -recurse | Select-String -pattern $pattern | group path | select name $r | Out-GridView 在我的场景中,我有多次包含该模式的文件,而其他文件只有一次包含该模式。因此,我对那些多次包含该模式的文件感兴趣,而对其他文件不感兴趣

要在powershell中的一组文件中找到一个简单模式,我需要

$pattern= 'mypattern'
$r= Get-ChildItem -Path "C:\.." -recurse | 
    Select-String -pattern $pattern | group path | select name
    $r | Out-GridView

在我的场景中,我有多次包含该模式的文件,而其他文件只有一次包含该模式。因此,我对那些多次包含该模式的文件感兴趣,而对其他文件不感兴趣。感谢

开始寻找的一种方法是
选择字符串
组对象
,就像您已经找到的那样

选择字符串-路径(获取ChildItem C:\temp \-Filter*.txt-Recurse)-模式“140”-所有匹配项|
组对象路径|
其中对象{$\.Count-gt 1}
选择名称、计数|
外网格视图
这将获取temp目录中的所有txt文件,并根据匹配数对它们进行分组<代码>-所有匹配项非常重要,因为默认情况下,
选择字符串
只会返回它在一行中找到的第一个匹配项

在这些组中,我们使用
where Object
选择计数高于1的组。然后我们只输出文件名,然后使用
选择名称,Count
进行计数。其中
name
是匹配文本所在的完整文件路径

关于
Out-GridView

我看到您正在将
Out GridView
的输出分配到
$r
。如果要执行此操作,需要确保添加
-PassThru
参数。

谢谢。这很有道理:)