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