changing first letter to CAPS


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting changing first letter to CAPS
# 8  
Old 04-24-2008
That won't work. This will, though:

$ echo united | sed 's/^\(.\)/\U\1/'
United

Last edited by SandmanCL; 04-24-2008 at 04:24 AM.. Reason: removed redundant trailing 'g'
# 9  
Old 04-24-2008
First of all two things.

In your both sed commands you have given the letter itself..where i can simple use tr cmmand for that.

echo united|tr u U

but my requirement is different. I am going to echo the hostname here and do the change. I will be implementing in multiple hosts where i cant go ahead change the scripts in all the hosts. I want to do this without specifying any letters. The command should convert what ever is first letter.

echo `hostname`|??

Thanks.
# 10  
Old 04-24-2008
@sandman

Perl command works pefectly. It meets my requirement.Anything similar to that using shell?
# 11  
Old 04-24-2008
try this one

tmp=united

typeset -L1 -u fl
typeset -R$((${#tmp}-1)) rl

fl=$tmp
rl=$tmp
new=${fl}${rl}
# 12  
Old 04-24-2008
\U means "convert to uppercase" and shouldn't be confused with the "u" in united Smilie

The sed command I provided will uppercase whatever letter you throw at it (at least us-ascii):

Code:
$ for airline in united delta american southwest; do
> echo $airline | sed 's/^\(.\)/\U\1/'
> done
United
Delta
American
Southwest

Also, for what it's worth, the following two commands give identical output:

Code:
$ hostname
localhost
$ echo `hostname`
localhost

So this will be the magic line you need

Code:
hostname | sed 's/^\(.\)/\U\1/'

# 13  
Old 04-24-2008
Sandman thanks for your replies. Sandman i dont know what flavour of unix you are using. I am using HP-UX. below is my command output using sed.

genova$ /:hostname | sed 's/^\(.\)/\U\1/'
Ugenova

genova$ /:for airline in united delta american southwest; do
> echo $airline | sed 's/^\(.\)/\U\1/'
> done
Uunited
Udelta
Uamerican
Usouthwest
genova$ /:

even sunos does the same.

x033870@agamemnon:/home/x033870>hostname | sed 's/^\(.\)/\U\1/'
Uagamemnon
x033870@agamemnon:/home/x033870>uname -a
SunOS agamemnon 5.8 Generic_117350-45 sun4u sparc SUNW,Ultra-80
x033870@agamemnon:/home/x033870>

This is why i got confused with "U"
# 14  
Old 04-24-2008
Here is a way to do it in ksh93 using a custom builtin
Code:
/*
 * firstcap.c
 *
 * ksh93 custom builtin (error checking limited!)
 *
 */

#include <stdio.h>
#include <ctype.h>

int
b_firstcap(int argc, char *argv[], void *context)
{
    int c;
    char *s;

    if (argc != 2) {
       fprintf(stderr,"Usage: firstcap arg\n");
       return(2);
    }

    s = argv[1];
    c = *s++;

    printf("%c%s\n", toupper(c), s);

    return(0);
}

Here is how to compile and use it within ksh93
Code:
$ gcc -c firstcap.c
$ gcc -shared -o firstcap.so firstcap.o -lc
$ builtin -f ./firstcap.so firstcap
$ firstcap finnbarr
Finnbarr
$ firstcap united
United
$

Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Replace specific letter in a file by other letter

Good afternoon all, I want to ask how to change some letter in my file with other letter in spesific line eg. data.txt 1 1 1 0 0 0 0 for example i want to change the 4th line with character 1. How could I do it by SED or AWK. I have tried to run this code but actually did not... (3 Replies)
Discussion started by: weslyarfan
3 Replies

2. Shell Programming and Scripting

Generate all possible word with caps and no caps

With use of sed/awk, how can I print all possible combinations of a word with caps/non-caps. Eg Applying operation on "cap" should generate output as follows. cap CAP Cap cAp caP CAp cAP CaP (12 Replies)
Discussion started by: anil510
12 Replies

3. UNIX for Dummies Questions & Answers

Caps lock problem

hi all this s quite a foolish problem. I seem to hav pressed some keys s.t in unix, my letters are comin in caps and with caps lock on, i am getting lowercase letters. :o Pls help. Also is there any reference or manual where i can check in case such problems arrise? thanx in advance curiosity (4 Replies)
Discussion started by: curiosity
4 Replies

4. UNIX for Dummies Questions & Answers

Is there a way to ignore CAPS or case sensitivity?

If I'm using a program that is expecting certain filenames and directories to be all CAPS, isn't there a way to ignore this in linux/cshell scripting? I.e., similiar to ignoring spaces with " (i.e., directory is directory 1, can ignore by typing "directory 1".) ?? (2 Replies)
Discussion started by: rebazon
2 Replies

5. Shell Programming and Scripting

Commands in all caps

Is it possible to make a bash script such that entering a command in all capital letters would be equivalent to using "sudo" before that command? For example: "sudo chmod 777 foo.txt" becomes "CHMOD 777 foo.txt" (3 Replies)
Discussion started by: bloom
3 Replies

6. UNIX for Dummies Questions & Answers

Copying files with caps?

Anyone know the proper command to copy files whose names CONTAIN a capital letter to a diff location? Every time I do it I ke copying ALL the files. Here is what ive tried cp ** newlocation cp newlocation (5 Replies)
Discussion started by: losingit
5 Replies

7. HP-UX

Caps lock dtterm

Hello, We are having a problem with running dtterm off a RHEL server. Logging into an HP-UX server from a RHEL 5.1 desktop, setting DISPLAY and running dtterm, the caps lock does not work. We have been playing with xmodmap & stty but to no avail. Any help appreciated. mgb (7 Replies)
Discussion started by: mgb
7 Replies

8. Red Hat

Caps lock dtterm

Hello, We are having a problem with running dtterm off a RHEL server. Logging into an HP-UX server from a RHEL 5.1 desktop, setting DISPLAY and running dtterm, the caps lock does not work. We have been playing with xmodmap & stty but to no avail. Any help appreciated. mgb (1 Reply)
Discussion started by: mgb
1 Replies

9. Shell Programming and Scripting

Convert character in word to CAPS??

Hi Gurus!! Is it possible to change a letter in a word to CAPS?? When correcting a paragraph i need to covert the word if it appears at the start of a line to caps....... if i had a phrase like my name is james and would like to sign up. how do i convert "my" to "My" or the... (3 Replies)
Discussion started by: vadharah
3 Replies
Login or Register to Ask a Question