考虑我有一个以下文件..
1 a
1 b
1 a
1 c
1 a
2 a
2 d
2 a
2 d
我想在一个桶中有一个直方图...例如,如果bucket为1,那么输出将是
a 3
b 1
c 1
a 2
d 2
对于第2桶......我们有
a 5
b 1
c 1
d 2
我想用awk做这件事,我真的卡住了...... 这是我的代码:
awk '
{A[$1]} count [$2]++
{for(i in A) {print i,A[i]}
}' test
任何帮助?
谢谢,
阿米尔。
答案 0 :(得分:4)
修改添加size_of_bucket变量。
awk -v "size_of_bucket=2" '
{
bucket = int(($1-1)/size_of_bucket);
A[bucket","$2]++;
}
END {
for (i in A) {
print i, A[i];
}
}
'