linux group by date列和show count

时间:2015-08-04 22:11:37

标签: linux bash shell

我有一个如下所示的CSV文件:

aaa bbb ccc, 2015-01-01
fff ggg ddd, 2015-01-01
ggg hhh sss, 2015-01-02
ddd fff aaa, 2015-01-03
sss kkk www, 2015-01-03

我想按第二个字段(日期)进行分组。 cat myfile.csv | sort -t, k2 |uniq -c 在每一行错误旁边打印1。

我想要这个:

2015-01-01 2
2015-01-02 1
2015-01-03 2

1 个答案:

答案 0 :(得分:0)

在您的示例中,假设日期是有序的:

$ awk -F, 'NR>1 && d!=$2 {print d,c;c=0} {c++; d=$2;} END{print d,c;}' myfile.csv 
 2015-01-01 2
 2015-01-02 1
 2015-01-03 2