I have a list of company names all in upper case; one per line. Can I use a combination of sed, tr, and other tools to automate converting them all to mixed case (i.e., initial letter uppercase, all others lower case)? There must be a shell script already written to do this, but not in the reference books I have. #### perl -ne 'print ucfirst lc;' FILENAME will do it. #### perl -pe 'tr/A-Z/a-z/; s/(\S+)/\u$1/g;' #### My sed-fu was deficient I guess (or my sed was) so I fell back to perl: If you want word-case perl -pe 's/ \b (\w) ([^\s]+) \b /\1\L\2/gx' # ONE COMPANY -> One Company (rather than One company) #### perl -i -ne 's/(\b\w)/{uc $1}/eg; print;'