在powershell中,我有一个我从CSV导入的数组,其中包含以下信息
UserName RecordDate @{UserName=user1; RecordDate=05/18/2013} @{UserName=user1; RecordDate=05/18/2012} @{UserName=user1; RecordDate=04/18/2013} @{UserName=user1; RecordDate=01/18/2013} @{UserName=user22; RecordDate=05/18/2013} @{UserName=user22; RecordDate=05/18/2012} @{UserName=user22; RecordDate=04/18/2013} @{UserName=user22; RecordDate=01/18/2013}
我想根据日期删除重复的条目,只留下用户名中每个用户的最新日期条目
谢谢!
答案 0 :(得分:3)
试试这个:
Import-Csv "C:\path\to\your.csv" `
| select UserName, @{
n='RecordDate';
e={[DateTime]::ParseExact($_.RecordDate, 'MM\/dd\/yyyy', $null)}
} `
| group UserName `
| % { $_.Group | sort RecordDate -Desc | select -First 1 }
答案 1 :(得分:1)
您只需将属性转换为DateTime
即可正确排序。只需将排序更改为:
sort {[DateTime]$_.RecordDate}