【发布时间】:2019-01-28 03:18:31
【问题描述】:
我有点坚持搜索正则表达式字符串。场景如下:
- 我有一堆具有特定扩展名 (*.tlt) 且内容随机的文件
- 所有文件都位于驱动器 F 上 BETA 文件夹的子文件夹中:
- 每个文件的内容中至少有一个Revision 1.234。 (有时多次 - 只有第一次出现很重要)
这是我目前所拥有的:
$files = gci f:\beta\ -Include "*.tlt" -Recurse
$results = $files |
Select-String -Pattern 'Revision:.+.{1}[.]\d{1,3}'|
ForEach-Object { $_.Matches } |
select Value |
Format-Table -GroupBy Filename
我需要的是一个 PowerShell 脚本,它可以搜索文件并返回带有完整路径的文件列表,并且只有修订版 1.234 而不是整行。
【问题讨论】:
-
嗯,你目前只选择
value,所以你不能按Filename分组。此外,如果您要存储结果,则不应通过管道发送到Format-Table。存储结果,如果需要,稍后使用Format-Table显示它们。如果您只是将它用于分组,请改用Group-Object。 -
请允许我给你一个标准的建议给新手:如果一个答案解决了你的问题,请点击它旁边的大复选标记 (✓) 接受它,也可以选择给它投票(up - 投票需要 15 个或更多声望点)。如果您发现其他答案有帮助,请给他们投票。接受(您将获得 2 个声望点)和投票可以帮助未来的读者。请参阅the relevant help-center article。如果您的问题尚未得到完全解答,请提供反馈或self-answer。
-
感谢您的建议。我现在已经标记它并为两者投票。
标签: regex string powershell search return