LINUX.ORG.RU

Подсчитать частоту значений байтов в файле


0

1

Чувствую, что знатоку sh, perl, awk и т.п. написать скрипт минутное дело. Сам, к сожалению, слишком нерегулярно пользуюсь такими средствами, чтобы это быстрее осилить, нежели слабать прогу на c. Кому не жалко на это дело 5 минут, помогите. А может вообще есть стандартная утилита для этого дела, только сейчас не припомнить. Файл бинарный. Заранее спасибо.

Ответ на: комментарий от andreyu

256 раз выполнять эту команду в цикле? Да ну нафиг.

быдлоколдер, чтоле? man wc в этом случае. ну или "-E ."

ananas ★★★★★
()

при случае угостишь пивом

hexdump -v -e '/1 "%02X\n"' | sort | uniq -c
lazyklimm ★★★★★
()
$ declare -A array;for i in $(fold -b -w 1 test.txt);do((array[$i]++));done
$ for i in ${array[@]};do echo $i:${array[$i]};done
3:1
2:2
1:3
$ cat test.txt 
111223

Для разнообразия.

anonymous
()
Ответ на: комментарий от ananas

быдлоколдер, чтоле? man wc в этом случае. ну или "-E ."

Нука расшифруйте свою команду:

grep -b -o -c C /path/to/file
вместо C подставь нужный символ

andreyu ★★★★★
()
perl -e 'binmode STDIN; local $/; my @c; $c[$_]++ for unpack "C*", <>; $c[$_] && print "$_: $c[$_]\n" for 0..$#c'
arsi ★★★★★
()

Спасибо. Я не ошибся в своих ожиданиях. :)

zloy_starper ★★★
() автор топика
Ответ на: комментарий от andreyu

да, тупанул, не совсем корректно понял задачу

ananas ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.