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