Мне нужна программа, которая выводит количество различных символов в файле. Пример:
> stats testfile
' ': 207
'e': 186
'n': 102
Существует какой-нибудь инструмент, который это делает?
command-line
files
text-processing
Mnementh
источник
источник
sed 's/\(.\)/\1\'$'\n/g' text.txt
sed
это, но решение Python от Jacob Vlijm хорошо сработало для меня.Решение Стивена хорошее, простое. Это не так эффективно для очень больших файлов (файлы, которые не помещаются удобно примерно в половине вашей оперативной памяти) из-за шага сортировки. Вот версия awk. Это также немного более сложное , потому что он пытается сделать правильную вещь для нескольких специальных символов (символ новой строки,
'
,\
,:
).Вот решение Perl по тому же принципу. Преимущество Perl заключается в возможности внутренней сортировки. Также это не будет правильно считать лишнюю новую строку, если файл не заканчивается символом новой строки.
источник
Медленная, но относительно дружественная к памяти версия, использующая ruby. Около десятка МБ ОЗУ, независимо от размера ввода.
источник