0

我有一个正在处理的脚本,它将输出关键字搜索的所有文件名和行号。

$Paths = gci . *.* -rec | where { ! $_.PSIsContainer } | resolve-path
foreach($path in $Paths)
{
    $ftp += Select-String -Path $Path -Pattern "FTP"
}
$ftpgroups = $ftp | select fileName,LineNumber | Format-Table -groupBy Filename

我决定使用 ft -groupby 因为 group-object 工作不正常。但我需要一种方法来引用该表,以便将其放入 csv 中。使用 get-member 命令行开关时,它只给了我格式化的属性。理想的输出是让 1 个文件名与一组文件行匹配。这样我就可以将它与路径匹配(哪个组对象成功工作)。如果我以错误的方式解决这个问题,我对新想法持开放态度。提前谢谢你,希望它不会给你带来像我这样的麻烦。

4

1 回答 1

2

如您所见,任何Format-*cmdlet 的输出都是格式化对象。这些对象用于显示到控制台而不是进一步操作。你真的需要Group-Object这个。它以什么方式不适合你?我想,这会起作用:

$ftpgroups = $ftp | Select Filename,LineNumber | Group Filename
于 2012-07-19T00:19:56.863 回答