awk гистограмма в ведрах - PullRequest
       20

awk гистограмма в ведрах

1 голос
/ 05 августа 2011

Предположим, у меня есть следующий файл ..

1 a
1 b
1 a
1 c
1 a
2 a
2 d
2 a
2 d

Я хочу, чтобы гистограмма была внутри сегмента ... например, если интервал равен 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

Любая помощь?

Спасибо,

Амир.

1 Ответ

4 голосов
/ 05 августа 2011

Редактировать Добавление переменной 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];
    }
  }
'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...