在 Powershell 中,如何列出目录(递归)中包含与给定正则表达式匹配的文本的所有文件?有问题的文件包含非常长的难以理解的文本行,所以我不想看到匹配的行——只是文件名。
Ind*_*rek 68
您可以使用Select-String来搜索文件内的文本,并Select-Object为每个匹配项返回特定属性。像这样的东西:
Get-ChildItem -Recurse *.* | Select-String -Pattern "foobar" | Select-Object -Unique Path
Run Code Online (Sandbox Code Playgroud)
或者更短的版本,使用别名:
dir -recurse *.* | sls -pattern "foobar" | select -unique path
Run Code Online (Sandbox Code Playgroud)
如果您只想要文件名,而不是完整路径,请替换Path为Filename.
Get-ChildItem-Recurse *.* 返回当前目录及其所有子目录中的所有文件。
Select-String-Pattern "foobar" 在这些文件中搜索给定模式“foobar”。
Select-Object-Unique Path仅返回每个匹配项的文件路径;该-Unique参数消除了重复项。
| 归档时间: |
|
| 查看次数: |
44001 次 |
| 最近记录: |