根據指定列進行去除重復行
這里的重復是指如果兩行的某一列數據相同,則認為是重復數據。
例如:第1行與第2行數據,其中的第2列(以-
作為分隔符)明顯是重復的。
100069 - ARM Compiler armasm User Guide
100069 - ARM Compiler armasm User Guide
100069 - Arm Compiler armasm User Guide
100069 - Arm Compiler armasm User Guide
100071 - Arm Compiler fromelf User Guide
100072 - ARM Compiler armar User Guide
現在我們如何去除列相同的重復項。
步驟
假設源文件名為
raw_data
第一步: sort 進行排序
sort raw_data -k1 > 1_sort_data
## 語法解釋:
## sort -t, -k1
## -t, 指定文件記錄域分隔符為","
## -k1 是指根據第1列進行排序
第二步: 用awk對相鄰兩行數據進行比較如果第一列的數據相同則去除重復行(保留第一個相同的行)
cat 1_sort_data| awk -F- '!i[$1]++' > data_ok
合並起來便是 :
sort raw_data -k1 | awk -F- '!i[$1]++' > data_ok