0

キーワード検索のすべてのfileNamesとlineNumbersを出力するスクリプトを作成しています。

$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

group-objectが正しく機能していなかったため、ft-groupbyを使用することにしました。ただし、このテーブルをcsvに入れることができるように、このテーブルを参照する方法が必要です。get-memberコマンドレットを使用すると、フォーマットのプロパティのみが表示されます。このための理想的な出力は、1つのfileNameをfileLinesのグループに一致させることです。そうすれば、それをパス(グループオブジェクトが正常に機能したパス)に一致させることができます。私がこれを間違った方法で行っている場合、私は新しいアイデアを受け入れます。よろしくお願いします。私ほどトラブルが起こらないことを願っています。

4

1 に答える 1

2

ご覧のとおり、コマンドレットの出力Format-*はフォーマットオブジェクトです。これらのオブジェクトは、コンソールに表示するためのものであり、それ以上操作するためのものではありません。あなたは本当にGroup-Objectこれが必要です。どのようにそれはあなたのために働いていませんでしたか?私は、これはうまくいくと思います:

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