1
我有分隔的平面文件的管从我需要删除重复基于对象的条目,为特定的文件的一部分是:Powershell的:重复数据删除的阵列
"001A"|"1"|"*"||"A"|"504367667"|"1"|"2005-06-10-16.57.23.000000"|
"001A"|"1"|"*"||"A"|"504367667"|"1"|"2005-10-24-16.52.29.000000"|
"001A"|"1"|"*"||"A"|"504367667"|"1"|"2007-12-13-15.48.47.000000"|
"001A"|"1"|"*"||"A"|"504367667"|"1"|"2008-12-09-17.10.39.000000"|
"001B"|"1"|"*"||"B"|"800026800"|"1"|"2005-08-08-10.48.16.000000"|
"001C"|"1"|"*"||"C"|"490349139"|"1"|"2006-01-19-12.03.08.000000"|
"001C"|"1"|"*"||"C"|"490349139"|"1"|"2009-03-12-15.08.11.000000"|
第一个字段是ID和最后一个字段是一个时间戳,我想重复删除条目,以便只为每个ID保留最新的时间戳条目。所以,我需要的输出应该是:
"001A"|"1"|"*"||"A"|"504367667"|"1"|"2008-12-09-17.10.39.000000"|
"001B"|"1"|"*"||"B"|"800026800"|"1"|"2005-08-08-10.48.16.000000"|
"001C"|"1"|"*"||"C"|"490349139"|"1"|"2009-03-12-15.08.11.000000"|
我与不同的对象名字的数组读取文件和存储的条目,然后我试图
$inputdeduped = $inputfilearray | Sort-Object Date
$inputdeduped = $inputdeduped | Select-Object ID -Unique
希望,一旦日期被排序,这里用作-unique的get-unique cmdlet将选择排序数组中第一个或最后一个重复条目,这取决于我将按照desc还是asc顺序排序日期,但它不会随机挑选一个条目。
请帮我解决问题,或者帮我理解get-unique cmdlet的工作原理。
力的工作,它给了一个空白文件。我可以理解你的解决方案将按ID分组排序的输入,然后在第三个管道中选择组的第一行,但我不明白最后2个管道中发生了什么。 – DhawalV
'group-object'返回一个自定义对象的数组,其中有两个'select-object'我重建了一个数组,像一个管道。我不知道你是如何构建'$ InputFilearray'的。 –
它终于奏效了,我拼错了变量名! – DhawalV