相同的領域,我想提出一些類型的數據:AWK不重複的記錄
A;01;data_1;CP
A;01;data_15;aP
A;01;data_23;Com
A;01;data_106;id
這樣
A;01;data_1;CP
;;data_15;aP
;;data_23;Com
;;data_106;id
有沒有一種簡單的方法使用awk做到這一點?
任何幫助表示讚賞!
相同的領域,我想提出一些類型的數據:AWK不重複的記錄
A;01;data_1;CP
A;01;data_15;aP
A;01;data_23;Com
A;01;data_106;id
這樣
A;01;data_1;CP
;;data_15;aP
;;data_23;Com
;;data_106;id
有沒有一種簡單的方法使用awk做到這一點?
任何幫助表示讚賞!
您可以使用下面的腳本awk
:
# dedup.awk
BEGIN {
# Setting input and output delimiter to ';'
FS=OFS=";"
}
{
# Iterate trough all fields
for(i=1;i<NF+1;i++) {
# If the previous record's field at this index has
# the same value as this field then set this field
# to an empty string
if(p[i]==$i) {
$i=""
} else {
# Otherwise update the array that keeps
# information about the previous record(s)
p[i] = $i
}
}
# Print the record
print
}
您可以執行這樣的:
awk -f dedup.awk input.file
你應該嘗試添加有關問題的更多信息。例如。如何從輸入中獲得輸出。 etc – nu11p01n73R
此外,它預計僅列1,2或可能在任何地方? – Inian