在 Linux 中,要用 uniq 移除重複行,要先 sort 才行。
使用 awk 即可免 sort 就能移除重複行:
awk '!x[$0]++'
這個指令是告訴 awk 要輸出那些行,其中變數 $0 是整個要處理的文字內容,而中括號 [ ] 是要它用陣列的方式處理。所以每一行的內容會 ++ 附加輸入到陣列 x 裡面,且必須是「!」沒有設定過的。
另外,awk 加選項 NF 即可移除空白行:
awk NF
在 Linux 中,要用 uniq 移除重複行,要先 sort 才行。
使用 awk 即可免 sort 就能移除重複行:
awk '!x[$0]++'
這個指令是告訴 awk 要輸出那些行,其中變數 $0 是整個要處理的文字內容,而中括號 [ ] 是要它用陣列的方式處理。所以每一行的內容會 ++ 附加輸入到陣列 x 裡面,且必須是「!」沒有設定過的。
另外,awk 加選項 NF 即可移除空白行:
awk NF