个人比较懒,慢慢加了 一点一点重新做下记录,时间久不用都忘记了
一:
如 新建一个a文件,内容如下
1,5
1,2,3,4,5
1,2,3,4,5,1,5,5,5
1
然后awk -F "," '{if($1==1||$5==5) a[$1","$5]++}END{for(i in a)print i"\t"a[i]}' a
输出为:
1, 2
1,5 2
第一列为1的出现4次, 第五列为5 的出现2次
二 :去除awk某列重复行
首先创建一个长这样的文件:test
2017-01-13_12:00_index?uid=123
2017-01-13_13:00_index?uid=123
2017-01-13_14:00_index?uid=333
2017-01-13_15:00_index?uid=9710
2017-01-14_12:00_index?uid=123
2017-01-14_13:00_index?uid=123
2017-01-15_14:00_index?uid=333
2017-01-16_15:00_index?uid=9710
awk -F "?" '!a[$2]++{print}' test
结果就是下面这个样子了
2017-01-13_12:00_index?uid=123
2017-01-13_14:00_index?uid=333
2017-01-13_15:00_index?uid=9710
awk是按行一条条读的 所以这里输出第一次先出现,时间最早的那几个uid,总之,谁在前面谁先出来