Вот еще одно решение Ruby, использующее милые маленькие помощники по написанию сценариев в Ruby (автоматическое чтение входных файлов и т.
ruby -ni~ -e "puts $_.gsub(/\b\w+\b/) { |word| word.capitalize }" foo.txt
(при условии, что ваш текст хранится в файле с именем foo.txt
.)
Лучше всего использовать с Ruby 1.9 и его потрясающей многоязычной поддержкой, если ваш текст содержит символы не ASCII.