linux sed script to make first letter of each word uppercase -


i trying make sed script make first letter of each

molly w. bolt     334-78-5443 walter q. bugg    984-49-0032 noah p. way       887-12-0921 

so want this:

molly w. bolt     334-78-5443 walter q. bugg    984-49-0032 noah p. way       887-12-0921 

so far have following script, capitalize first 2 words comes across ie. making molly w. bolt. can't figure out how modify script last name uppercase. need add?

h s/\(.\).*/\1/ y/abcdefghijklmnopqrstuvwxyz/abcdefghijklmnopqrstuvwxyz/ g s/\(.\)\n\(.\)\(.*\)/\1\3/ / [a-z]/{     h     s/\([a-z][a-z]* \)\([a-z]\).*/\2/     y/abcdefghijklmnopqrstuvwxyz/abcdefghijklmnopqrstuvwxyz/     g     s/\(.\)\n\([a-z][a-z]* \)\(.\)\(.*\)/\2\1\4/ } 

this gnu sed 1 liner may you:

sed 's/\b./\u&/g' file 

test data:

kent$  cat f molly w. bolt 334-78-5443 walter q. bugg 984-49-0032 noah p. way 887-12-0921  kent$  sed 's/\b./\u&/g' f molly w. bolt 334-78-5443 walter q. bugg 984-49-0032 noah p. way 887-12-0921 

Comments