Convert first character of each word to upper case


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Convert first character of each word to upper case
# 1  
Old 10-23-2009
Convert first character of each word to upper case

Hi,

Is there any function(Bash) out there that can convert the first character of each word to upper case? [IMG]file:///C:/Users/ADMINI%7E1/AppData/Local/Temp/moz-screenshot-2.png[/IMG][IMG]file:///C:/Users/ADMINI%7E1/AppData/Local/Temp/moz-screenshot-3.png[/IMG][IMG]file:///C:/Users/ADMINI%7E1/AppData/Local/Temp/moz-screenshot.png[/IMG][IMG]file:///C:/Users/ADMINI%7E1/AppData/Local/Temp/moz-screenshot-1.png[/IMG]

Similar to php function Eg :
$foo = "hello world!";
$foo = ucwords($foo); //Hello Word


Manage to Google out this example :

first=`echo "hello world place"|nawk '{print substr($1,1,1)}'|tr '[:lower:]' '[:upper:]'`

however it only will display "Hello". Rest of the word are truncated. May I know what went wrong in the coding?

Thank you for the help in advance.
# 2  
Old 10-23-2009
Code:
#!/bin/bash
foo="hello world place"
awk '{for(i=0;++i<=NF;){OFS=(i==NF)?RS:FS;printf toupper(substr($i,0,1)) substr($i,2) OFS }}' <<< "$foo"
Hello World Place

# 3  
Old 10-23-2009

Without using any external commands:
Code:
$ _capwords the quick brown fox
$ printf "%s\n" "$_CAPWORDS"
The Quick Brown Fox

I have these functions in a library:

Code:
_upr()
{
    _UPR=
    case $1 in
        a*) _UPR=A ;;        b*) _UPR=B ;;
        c*) _UPR=C ;;        d*) _UPR=D ;;
        e*) _UPR=E ;;        f*) _UPR=F ;;
        g*) _UPR=G ;;        h*) _UPR=H ;;
        i*) _UPR=I ;;        j*) _UPR=J ;;
        k*) _UPR=K ;;        l*) _UPR=L ;;
        m*) _UPR=M ;;        n*) _UPR=N ;;
        o*) _UPR=O ;;        p*) _UPR=P ;;
        q*) _UPR=Q ;;        r*) _UPR=R ;;
        s*) _UPR=S ;;        t*) _UPR=T ;;
        u*) _UPR=U ;;        v*) _UPR=V ;;
        w*) _UPR=W ;;        x*) _UPR=X ;;
        y*) _UPR=Y ;;        z*) _UPR=Z ;;
         *) _UPR=${1%${1#?}} ;;
    esac
}

_cap()
{
  _upr "$1"
  _CAP=$_UPR${1#?}
}

_capwords()
{
  unset _CAPWORDS
  set -f
  for word in $*
  do
    _cap "$word"
    _CAPWORDS="$_CAPWORDS${_CAPWORDS:+ }$_CAP"
  done
}

# 4  
Old 10-23-2009
Code:
foo="hello world place"
 
echo $foo | tr " " "\n" | nawk ' { out = out" "toupper(substr($0,1,1))substr($0,2) } END{ print substr(out,2) } '
 
Hello World Place

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Convert lowercase to upper case in Sparc

Hi, I need to convert the hostname to uppercase and attach it to a string. eg: $hostname output mymac Final output should be Production.MYMAC (3 Replies)
Discussion started by: mohtashims
3 Replies

2. Shell Programming and Scripting

Change first letter of a word from lower case to upper case

Hi all, I am trying to find a way to change first letter in a word from lower case to upper case. It should be done for each first word in text or in paragraph, and also for each word after punctuation like . ; : ! ?I found the following command sed -i 's/\s*./\U&\E/g' $@ filenamebut... (7 Replies)
Discussion started by: georgi58
7 Replies

3. Shell Programming and Scripting

convert specific field to upper case in file

Hi Friends, I have a file1.txt as below I want to convert the date fields in to upper case field3 and field 6 output.txt Plz help. (2 Replies)
Discussion started by: i150371485
2 Replies

4. UNIX for Dummies Questions & Answers

To convert Lower case to Upper Case

There is a script where we pass the parameter in lower case: say: . ./scriptName pArameter #!/bin/ksh echo "`date` Entering $0 Reloading the $1 table " mname1=$1 (code to login MYSQL Database) Truncate table $mname1; exit ! Since now there is a limitaion of MYSQL that it accept... (5 Replies)
Discussion started by: ambarginni
5 Replies

5. Shell Programming and Scripting

Convert to upper case first letter of each word in column 2

Hi guys, I have a file separated by ",". I´m trying to change to upper case the first letter of each word in column 2 to establish a standard format on this column. I hope somebody could help me to complete the SED or AWK script below. The file looks like this: (Some lines in column 2... (16 Replies)
Discussion started by: cgkmal
16 Replies

6. Shell Programming and Scripting

Script to Convert Upper case to Lower case

Hi All I have a script which extracts values from a Database (A persons name) and puts it into a variable in my script IE: $NAME However the Value in the DB is all in uppercase and contains the users first name and last name EG: > echo $NAME GRAHAM BOYLE > What I need is only the... (7 Replies)
Discussion started by: grahambo2005
7 Replies

7. Shell Programming and Scripting

convert upper case to lower case in ascript

I have a package to install and the installation script which does it . The files/directories names in the script are all lower case but the actual package has everything in upper case - file names, directories . I don't want to rename directories and files in the package - it has a lot of them . ... (2 Replies)
Discussion started by: vz6zz8
2 Replies

8. Shell Programming and Scripting

how to convert from upper to lower case

Hi I am working in ksh and need to convert the following line into lower case: N344 N228 P227 N115 P116 N332 P331 P343 P293 N342 N294 N335 N329 P330 P336 P097 P092 N098 P334 N337 P345 P338 N091 N333 so the output should look like this: n344 n228 p227 n115 p116 n332 p331 p343 p293 n342... (5 Replies)
Discussion started by: aoussenko
5 Replies

9. Shell Programming and Scripting

how to convert value in a variable from upper case to lower case

Hi, I have a variable $Ctrcd which contains country names in upper case and i want to convert them into lower case. I have tried so many solutions from already existing threads but couldn't get the correct one. Can anybody help me with this..... Thanks a lot.. (2 Replies)
Discussion started by: manmeet
2 Replies

10. Shell Programming and Scripting

after i convert upper case to lowercase

If user chosen to tolower then it should convert file name to lower or vice versa. when file names converted it should put into appropriate subdirectories. e.g when files converted it then seperate them out with file etension where it will seperate them out . such as file.pdf, phone.doc both... (1 Reply)
Discussion started by: Alex20
1 Replies
Login or Register to Ask a Question