PowerShell - 排序、顶部

PowerShell - sort, top

我可以寻求帮助吗,

我有日期 - “公司名称”和“日期”,在 $value 中,例如

|"Comp Name"|  "Date"   |
|:----------|----------:|
|computer1  | 2021-12-02|
|Computer2  | 2021-10-02|
|computer3  | 2021-08-02|
|computer1  | 2021-11-02|
|computer2  | 2021-12-02| 
|computer3  | 2021-12-02| 
|computer1  | 2021-10-02|
|computer4  | 2021-09-23| 
|computer2  | 2021-09-02|
|computer3  | 2021-12-02| 
|computer4  | 2021-12-07|

现在我想按日期排序并给出前1个 这意味着它期待结果。

|"Comp Name"|  "Date"   |
|:----------|----------:| 
|computer1  |2021-12-02 | 
|computer2  |2021-12-02 |
|computer3  |2021-12-02 | 
|computer4  |2021-12-07 |

我用过:

$list | Sort-Object -Property Date -Descending | Select-Object -First 1

但是我只知道这个,computer1 2021-12-02,如何正确输入

听起来您想按公司名称分组,然后 select 每个组的最大日期?

$list | Group-Object -Property 'Comp Name' | ForEach-Object { $_.Group | Sort-Object Date -Descending | Select-Object -First 1 }

*旧(基于原始要求): 一种方法是获取最大值,然后再次遍历列表,使用 Where-Object cmdlet 进行过滤:

$max = $list | Sort-Object -Property Date -Descending | Select-Object -First 1

$list | Where-Object { $_.Date -eq $max.Date } | Sort-Object -Property 'Comp Name' | Get-Unique -AsString