0

在 powershell 中,我有一个从 CSV 导入的数组,其中包含以下信息

用户名记录日期
@{用户名=user1; 记录日期=05/18/2013}
@{用户名=user1; 记录日期=05/18/2012}
@{用户名=user1; 记录日期=04/18/2013}
@{用户名=user1; 记录日期=01/18/2013}
@{用户名=user22; 记录日期=05/18/2013}
@{用户名=user22; 记录日期=05/18/2012}
@{用户名=user22; 记录日期=04/18/2013}
@{用户名=user22; 记录日期=01/18/2013}

我想根据日期删除重复的条目,并只为用户名中的每个用户保留最新日期的条目

谢谢!!

4

2 回答 2

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 }
于 2013-07-17T23:33:44.557 回答
1

您只需要将您的属性转换为 aDateTime以便正确排序。只需将排序更改为如下所示:

sort {[DateTime]$_.RecordDate}
于 2013-07-18T04:26:31.957 回答