echo 'fOo BaR' | tr '[A-Z]' '[a-z]' | sed 's/\(^\| \)\([a-z]\)/\1\u\2/g'
Команда принимает строку «fOo BaR», преобразует все символы в нижний регистр с помощью команды tr, затем с помощью команды sed заменяет первую букву каждого слова на заглавную. В итоге, выводится строка «Foo Bar». Альтернативным подходом может быть использование команды awk, например: echo ‘fOo BaR’ | awk ‘{for (i=1; i<=NF; ++i) $i = toupper(substr($i,1,1)) substr($i,2)}1'.
