使用Powershell打印出与RegEx匹配的代码行数

Mac*_*att 5 regex powershell code-comments

我认为我们的源代码中有一堆注释掉的代码,而不是立即删除它们,我们刚刚离开它.现在我想做一些清理工作.

因此,假设我有一个足够好的RegEx来查找注释(下面的RegEx很简单,我可以根据我们的编码标准对其进行扩展),我如何获取我读取的文件的结果并输出以下内容:

  • 文件名
  • 电话号码
  • 实际的代码行

我想我有一个答案的基础,但我不知道如何获取我已阅读并使用RegEx解析的文件并以此格式吐出.

我不是在寻找完美的解决方案 - 我只想找到大块注释掉的代码.通过查看结果并查看一堆具有相同名称和顺序行号的文件,我应该能够做到这一点.

$Location = "c:\codeishere"

[regex]$Regex = "//.*;" #simple example - Will expand on this...

$Files = get-ChildItem $Location -include *cs -recurse
foreach ($File in $Files) {
    $contents = get-Content $File
    $Regex.Matches($contents) | WHAT GOES HERE?
}
Run Code Online (Sandbox Code Playgroud)

Sha*_*evy 14

你可以这样做:

dir c:\codeishere -filter *.cs -recurse | select-string -Pattern '//.*;' | select Line,LineNumber,Filename
Run Code Online (Sandbox Code Playgroud)