Text-Processing
最高NF記錄
使用
awk
以下輸入文件,我如何才能NF
為同一最後一個欄位獲取最高記錄。文件:
5541,55004,919843,IND 5542,5541,55004,919843,IND 7903,790287,RUSE 7905,7903,790287,RUSE
需要的輸出:
5542,5541,55004,919843,IND 7905,7903,790287,RUSE
您可以利用兩個數組,一個用於保留欄位數,一個用於保留整個記錄,並在第二個數組上循環
END
:awk -F, 'NF>a[$NF] {a[$NF]=NF; b[$NF]=$0} END{for (i in b) print b[i]}' file.txt
例子:
% cat file.txt 5541,55004,919843,IND 5542,5541,55004,919843,IND 7903,790287,RUSE 7905,7903,790287,RUSE % awk -F, 'NF>a[$NF] {a[$NF]=NF; b[$NF]=$0} END{for (i in b) print b[i]}' file.txt 5542,5541,55004,919843,IND 7905,7903,790287,RUSE