Trying to implement case


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Trying to implement case
# 1  
Old 03-21-2008
Trying to implement case

Hi All,

My requirement is if the record is starting with 0, then do some processing.
if starting with 1, some processing
else (not with 0 or 1 ) then do some other processing.

i tried the following
Code:
case "$test" in
/^0/) echo "starting with zero ;;
/^1/) echo " with one" ;;
*) echo "otherwise"
esac

Though the record is starting with zero, it is printing "otherwise" everytime.

Tried implementing throuh awk also.

Code:
echo $test | awk '
/^0/ { print "starting with zero" }
/^1/ { print "with 1" }
'

But I am unable to figure out how to tell awk to do something whenever both the patterns are not matched.
Please provide inputs.
Regards.
# 2  
Old 03-21-2008
Is this what you're looking for?

Code:
echo $test | awk '{
if (/^0/){
  print "YES"}
else {
  print "NO"}
}'

Regards
# 3  
Old 03-21-2008
After reading the question agian an additional answer to find out whenever both patterns are not matched:

Code:
echo $test | awk '{
if (!/^0/&&!/^1/){
  print "Both not matches"}
else {
  print "Starting with 0 or with 1"}
}'

Regards
# 4  
Old 03-23-2008
The shell does not use slashes around case patterns. What you are looking for is

Code:
case "$test" in
  0*) echo "starting with zero ;;
  1*) echo " with one" ;;
  *) echo "otherwise";;  # note closing double semicolon here too
esac

awk simply falls through even if there is a match, so you can speculate what this does:

Code:
echo $test | awk '
/^0/ { print "starting with zero" }
/^1/ { print "with 1" }
/^[01]/ { print "neither" }
{ print "any of the above" }'


Last edited by era; 03-23-2008 at 07:45 AM.. Reason: Actually the double quotes in 'case "$test" in '... are not required, but I left them in anyway
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. 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

2. Shell Programming and Scripting

Conversion from Upper Case to Lower Case Condition based

Hello Unix Gurus : It would be really appreciative if can find a solution for this . I have records in a file . I need to Capitalize the records based on condition . For Example i tried the following Command COMMAND --> fgrep "2000YUYU" /export/home/oracle/TST/data.dat | tr '' ''... (12 Replies)
Discussion started by: tsbiju
12 Replies

3. Shell Programming and Scripting

[Solved] Change Upper case to Lower case in C shell

Is there a command that can switch a character variable from UPPER case to lower case? like foreach AC ( ABC BCD PLL QIO) set ac `COMMAND($AC)` ... end Thanks a lot! (3 Replies)
Discussion started by: rockytodd
3 Replies

4. Shell Programming and Scripting

sed ignoring case for search but respecting case for subtitute

Hi I want to make string substitution ignoring case for search but respecting case for subtitute. Ex changing all occurences of "original" in a file to "substitute": original becomes substitute Origninal becomes Substitute ORIGINAL becomes SUBSTITUTE I know this a little special but it's not... (1 Reply)
Discussion started by: kmchen
1 Replies

5. Shell Programming and Scripting

data array needs to change upper case to lower case

Hi all, i have a data array as followes. ARRAY=DFSG345GGG ARRAY=234FDFG090 ARRAY=VDFVGBGHH so on.......... i need all english letters to be change to lower case. So i am expecting to see ARRAY=dfsg345ggg ARRAY=234fdfg090 ARRAY=vdfvgbghh so on........ If i have to copy this data in... (8 Replies)
Discussion started by: usustarr
8 Replies

6. 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

7. Shell Programming and Scripting

Trying to implement case

Hi All, My requirement is if the record is starting with 0, then do some processing. if starting with 1, some processing else (not with 0 or 1 ) then do some other processing. i tried the following case "$test" in /^0/) echo "starting with zero ;; /^1/) echo " with one" ;; *) echo... (2 Replies)
Discussion started by: ssunda6
2 Replies

8. Shell Programming and Scripting

Script needed to select and delete lower case and mixed case records

HELLO ALL, URGENTLY NEEDED A SCRIPT TO SELECT AND DELETE LOWER AND MIXED CASE RECORDS FROM A COLUMN IN A TABLE. FOR EXAMPLE : Table name is EMPLOYEE and the column name is CITY and the CITY column records will be: Newyork washington ... (1 Reply)
Discussion started by: abhilash mn
1 Replies

9. UNIX for Dummies Questions & Answers

lower case to upper case string conversion in shell script

How can convert a Lower case variable value to an upper case in the kron shell script. (3 Replies)
Discussion started by: dchalavadi
3 Replies
Login or Register to Ask a Question