Check whether a string begin with uppercase, lowercase or digit!


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Check whether a string begin with uppercase, lowercase or digit!
# 1  
Old 03-22-2011
Hammer & Screwdriver Check whether a string begin with uppercase, lowercase or digit!

Hi every body!

I wrote script on Fedora (bash shell) to check whether a tring enter from user console is start with a uppercase/lowercase letter or a digit. But with this script i have some problem when I enter from character from 'b' to 'z' --> result is uppercase. This code look like ok but i don't know why it work not correctly. Please give me some propose.

Code:
#zdanie 3
echo "Enter a string:"
read var
echo ${var:0:1}
case ${var:0:1} in
[0-9])
    echo "$var begin with a digit."
    ;;
[A-Z])
    echo "$var begin with a uppercase letter."
    ;;
 [a-z])
    echo "$var begin with a lowercase letter."
    ;;

*)
    echo "$var begin with another symbol."
    ;;
esac


Last edited by pludi; 03-22-2011 at 04:56 AM.. Reason: code tags, please
# 2  
Old 03-22-2011
There are some wildcards missing:

Code:
echo "Enter a string:"
read var
echo ${var:0:1}
case ${var:0:1} in
[0-9]*)
    echo "$var begin with a digit."
    ;;
[A-Z]*)
    echo "$var begin with a uppercase letter."
    ;;
[a-z]*)
    echo "$var begin with a lowercase letter."
    ;;

*)
    echo "$var begin with another symbol."
    ;;
esac

# 3  
Old 03-22-2011
Tks for your reply, but the same problem when I enter character from 'b' -> 'z' the result is uppercase too.
# 4  
Old 03-22-2011
Ah ok understood and recognized it now - will check for a solution.
# 5  
Old 03-22-2011
Try this,

Code:
#!/bin/sh

echo -n "Enter a string:"
read var
first_char=${var:0:1}
len=$(expr length $(echo "$first_char" | tr -d "0-9") 2>/dev/null)
if [ $len > 0 ]
then
        len=$(expr length `echo $first_char | tr -d "a-z"` 2>/dev/null)
        if [ $len > 0 ]
        then
                len=$(expr length `echo $first_char | tr -d "A-Z"` 2>/dev/null)
                if [ $len > 0 ]
                then
                        echo "Something else"
                else
                        echo "Uppercase"
                fi
        else
                echo "lowercase"
        fi
elif [ $first_char -ge 0 2>/dev/null ]
then
echo "Number"
else
echo "Something else"
fi


Last edited by pravin27; 03-22-2011 at 05:54 AM..
This User Gave Thanks to pravin27 For This Post:
# 6  
Old 03-22-2011
Not sure why it didn't work with that syntax - the following should work. I put it into a while loop so you don't have to execute it after each input:

Code:
echo "Enter a string:"
while read var; do
        echo ${var:0:1}
        case ${var:0:1} in
        [0-9]*)
                echo "$var begin with a digit."
                ;;
        [[:upper:]])
                echo "$var begin with a uppercase letter."
                ;;
        [[:lower:]])
                echo "$var begin with a lowercase letter."
                ;;
        *)
                echo "$var begin with another symbol."
                ;;
        esac
done

exit 0

This User Gave Thanks to zaxxon For This Post:
# 7  
Old 03-22-2011
Ok. now it worked correctly! Tks so much for your help! My friends.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Uppercase to lowercase

Hello, I have a list of files in a directory whose names are all in uppercasse, including the file format for eg *.MP3 . I would like to convert these to the normal way we write it ie ABC.MP3 to be converted to Abc.mp3 . I know that this can be done manually by using a lot of "mv" or rename... (6 Replies)
Discussion started by: ajayram
6 Replies

2. Shell Programming and Scripting

Convert lowercase to uppercase

listprocs.sh contains ps -ef | grep "swikar" 1) Write a shell script to convert an input file to all upper case. Name your shell script toupper.sh. Hint: tr ' ' ' ' will convert all lower case letters to upper case To use your script, try the following command: cat... (1 Reply)
Discussion started by: swikar
1 Replies

3. UNIX for Dummies Questions & Answers

UPPERCASE to lowercase

Hi All, i have a file and i want to convert all uppercase letters to lowercase letters which are in my file. how can i do this. Thanx (3 Replies)
Discussion started by: temhem
3 Replies

4. UNIX Desktop Questions & Answers

Unix: lowercase to uppercase

I just started to learn unix... and i needed to make a basic script. i need to 1. read a file (.txt) 2. count the words of EVERY sentece 3. sentences with odd number of words need to be converted into lowercase sentences with even number of words need to be converted into uppercase ... (6 Replies)
Discussion started by: chilli1988
6 Replies

5. Shell Programming and Scripting

indentation and lowercase to uppercase

hi, i need to write a bash script that does two things. the program will take from the command line a file name, which is a C code, and an integer, which is the size of my indentation i would then have to indent every nested code by the number of columns provided by the user in the... (1 Reply)
Discussion started by: kratos.
1 Replies

6. UNIX for Dummies Questions & Answers

uppercase to lowercase

i have no variable and no file i just want to convert AJIT to ajit with some command in UNIX can anybody help (4 Replies)
Discussion started by: ajit.yadav83
4 Replies

7. AIX

Lowercase to Uppercase

Inside a script I have 2 variables COMP=cy and PT=t. further down the same script I require at the same line to call those 2 variables the first time uppercase and after lowercase ${COMP}${PT}ACE,${COMP}${PT}ace. Can somebody help me Thanks in advance George Govotsis (7 Replies)
Discussion started by: ggovotsis
7 Replies

8. Shell Programming and Scripting

UPPERCASE to lowercase with no overwriting?

Hey, I've just started learning shell script today. How would I write a bash script file that changes file names from uppercase to lowercase in that directory, the program should warn the user and NOT overwrite the existing file if it's already in lowercase? for example in a directory i... (1 Reply)
Discussion started by: lgd923
1 Replies

9. Shell Programming and Scripting

How convert lowercase or uppercase

It will only accept one argument where it should be upper or lowercase. if user choose to convert filnames to upper case than it should convert to upper or vice versa. if no action taken by the user then should not do anything any of the files in the current directory. (5 Replies)
Discussion started by: Alex20
5 Replies

10. Shell Programming and Scripting

uppercase to lowercase

Greetings & Happy New Years To All! A client of mine FTP'ed their files up to the server and it all ended up being in UPPERCASE when it all should be in lowercase. Is there a builtin command or a script anyone knows of that will automagically convert all files to lowercase? Please advise asap... (4 Replies)
Discussion started by: webex
4 Replies
Login or Register to Ask a Question