我在刪除重複項時遇到了問題(我在Shell中不太好)這裏是情況 - 應用程序創建一個扁平的文本文件。每行是一條記錄,每個字段由分隔符「〜|」(不包括引號)分隔。因此,記錄看起來像 -Shell腳本重複記錄
Field1~|Field2~|Field3~|Field4~|Field5~|Field6~|Field7~|
有一些記錄是重複的。重複的記錄是由field-Field2的值決定的。如何編寫shell腳本/ awk/sed以基於此標準刪除重複記錄?然後腳本必須將輸出寫入其他文件。 我可以在應用程序本身做到這一點,但由於性能問題無法完成。 感謝您的幫助。
輸入文件
Field1~|ABA~|Field3~|Field4~|Field5~|Field6~|Field7~|
Field1~|PQR~|Field3~|Field4~|Field5~|Field6~|Field7~|
Field1~|XYZ~|Field3~|Field4~|Field5~|Field6~|Field7~|
Field1~|ABA~|Field3~|Field4~|Field5~|Field6~|Field7~|
Field1~|RST~|Field3~|Field4~|Field5~|Field6~|Field7~|
Field1~|PQR~|Field3~|Field4~|Field5~|Field6~|Field7~|
輸出應該是─
Field1~|ABA~|Field3~|Field4~|Field5~|Field6~|Field7~|
Field1~|PQR~|Field3~|Field4~|Field5~|Field6~|Field7~|
Field1~|XYZ~|Field3~|Field4~|Field5~|Field6~|Field7~|
Field1~|RST~|Field3~|Field4~|Field5~|Field6~|Field7~|
(的記錄順序並不重要。)
顯示此輸入文件的更具體示例/示例。如果字段2有很多重複項,你的輸出應該如何。 ? – ghostdog74 2011-04-29 07:52:21
輸入文件可能有很多重複項。在這種情況下,只有一個唯一記錄將寫入輸出文件。 – 2011-04-29 07:56:21