Вот ответ, использующий ruby. Это делается путем изменения строки в список uniq разных символов и использование метода count для каждого из них.
#!/usr/bin/env ruby
String content = IO.read("1.txt")
content.split("").uniq.sort.each { |chr| puts( chr + ' - ' + content.count(chr).to_s) }