PowerShellを使用して、「import-csv」を介してファイルからcsvデータをオブジェクト$ csvListにインポートします。このcsvデータには、Benutzerという列があります。このようなことをするとき:
$csvList | %{$_.Benutzer} | select-object -unique
特別なことは何もありません。予想どおり、Benutzerの一意のエントリが返されます。これは約10アイテムです。しかしながら、
$csvList | %{$_.Benutzer} | get-unique -asstring
または
$csvList | Group($_.Benutzer)
各エントリをunqiueとして扱うようです。つまり、get-uniqueの場合は260 Benutzerの配列全体が返され、groupステートメントの場合は260グループが作成されます。 PowerShell4.0を使用しています。
ここで何が起こっているのか考えていただければ幸いです...
Get-Unique
ヘルプから:
Get-Uniqueコマンドレットは、ソート済みリスト ..の各アイテムを比較します。
Select-Object -Unique
では、オブジェクトを事前に並べ替える必要はありません。
例:
PS> 9,8,9,8 | Get-Unique -AsString
9
8
9
8
例:
PS> 9,8,9,8 | Sort-Object -Unique
8
9
Group-Object
については、コマンドの構文が異なる必要があります。($_.Benutzer)
をプロパティ名Benutzer
に置き換えてください。
$csvList | Group-Object Benutzer