Ha nem feltételezzük hogy az első karakter szám, akkor nem ártana azt is lecserélni:
$ echo "almafa alatt az ember.txt" | sed -e 's/\([A-Z]\)/\L\1/g' -e 's/\([ ][a-z]\)/\U\1/g' -e 's/\(^[a-z]\)/\U\1/g'
Almafa Alatt Az Ember.txt
Ugyanígy fel kell tételezni, hogy a szavakat mindig szóköz választja el.
Szóval kell még pár dolgot belehaluzni, hogy ez így jó legyen.