删除数组重复但保留原始

时间:2016-11-27 08:08:05

标签: powershell

我有一个数组:

Name
----
hi
hello
hello

我想摆脱所有重复 - 但保留至少一份原件。所以输出应该看起来像

Name
----
hi
hello

3 个答案:

答案 0 :(得分:5)

Select-Object -Unique

  

指定输入对象的子集是否相同   属性和值,只有子集的单个成员   地选择。

     

此参数区分大小写。结果,字符串不同   仅在字符大小写中被认为是唯一的。

示例5:从数组中选择唯一字符

PS C:\>"a","b","c","a","a","a" | Select-Object -Unique

a
b
c

此命令使用Unique Select-Object参数从字符数组中获取唯一字符。

答案 1 :(得分:2)

有几种方法可以做到这一点。如果是脚本,我建议使用完整的命令名而不是别名。

     $name = ( "hi", "hello", "hello" )
     $name | Sort-Object -Unique
     $name | Get-Unique

为了好玩,让我们深入了解。

Get-Member -InputObject $name

这将使我们读出数组的不同属性和方法,例如Length属性。让我们尝试将它们用作点运算符。

$name.Length

我们有数组的长度。

我不是天才。我只知道如何使用内置的帮助。

Get-Help *arrays* -full
Get-Help *about*
Get-Help Get-Member -full
Get-Help Get-Command

玩得开心,探索!

答案 2 :(得分:0)

$youarray="element1", "element2", "element1"

#solution with unique select
$youarray | select -Unique


#solution with group by
$youarray | group {$_} | select Name