歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> awk數組嵌套篩選數據

awk數組嵌套篩選數據

日期:2017/2/28 15:47:34   编辑:Linux教程

系統環境:CentOS 6.2 x86_64

內容如下:

要求:每個數據保留最初的和最後的,就是日期相同的只打印第一個和最後一個(類似打卡記錄篩選)

方法:awk '{a[$1]++;b[$1,a[$1]]=$0}END{for(i in a) print b[i,1],b[i,a[i]]}' 123

解析:第一個數組a以$1下標,並累加。第二個數組b為二位數組,以$1,a[$1]為下標,並把$0賦值給b。因為a數組累加,所以相同下標的出現多少次,其值就為多少。b數組中相同第一個下標的最後一個的第二個下標就是a[第一個]的值,所以最打印的b[i,1],b[i,a[i]] 就是想要的結果。

Copyright © Linux教程網 All Rights Reserved