有人可以帮我获取以下 PowerShell 代码吗?
$value 数组有一些重复的值,我正在努力弄清楚如何让第 2 行中的比较运算符起作用。
我希望它显示某个值是否在数组中的任何位置重复。 谢谢
foreach ($key in $value) {
if ($key.count -gt 1) {
Write-Host "$key"
}
}
最佳答案
Sample data
$value = "a","a","b","b","c","d","e","f","f";
要查看重复项以及大于 1
的计数,请使用 group-object和 select-object获取 Name
和 Count
属性。
$value | Group-Object | Where-Object {$_.Count -gt 1} | Select-Object Name, Count;
输出
Name Count
---- -----
a 2
b 2
f 2
省略重复项的一种方法是使用 foreach-object然后通过管道将其传输到 sort-object并使用 -unique
参数仅返回唯一值。
$value | ForEach-Object {$_} | Sort-Object -Unique;
省略重复项的另一种方法是使用 group-object及其 -noElement
参数,然后展开 Name
属性值(不带标题列)。
($value | Group-Object -NoElement).Name;
支持资源
-
Standard Aliases for Foreach-Object: the '
%
' symbol, ForEach -
-Unique
Return only the unique values
-
-noElement
Don’t include members of each group in the output objects.
关于arrays - 显示数组中的重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74765686/