Get-Unique和Select-Object -Unique的区别

19

使用PowerShell,我通过"import-csv"从文件中导入csv数据到$csvList对象。这个csv数据有一个名为Benutzer的列。在执行以下操作时:

$csvList | %{$_.Benutzer} | select-object -unique

没有什么特别的:按预期返回Benutzer中的唯一条目,大约有10个条目。然而,

$csvList | %{$_.Benutzer} | get-unique -asstring
或者
$csvList | Group($_.Benutzer)
似乎将每个条目视为唯一的,即在使用get-unique时会返回包含260个用户的整个数组,在使用group语句时会创建260个组。我正在使用PowerShell 4.0。 希望能提供任何有关此问题的想法...
1个回答

28

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接