Using a case statement with a range of numbers


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Using a case statement with a range of numbers
# 1  
Old 11-20-2009
Using a case statement with a range of numbers

Hey guys,

I'm trying to setup a case statement that checks a value against 5 separate ranges of numbers.

Here are the things I've tried with no success.

Code:
case "$AGE" in
        "<10") echo "You're in this decade.";;
        "[11..20]") echo "You're in this decade.";;
        "[21,30]") echo "You're in this decade.";;
        "[31-40]") echo "You're in this decade.";;
        "[>41&&<50]) echo "You're in this decade.";;
        
esac

Anyone have any ideas as to set this up?

Last edited by rbatte1; 09-16-2016 at 08:14 AM.. Reason: Added CODE tags
# 2  
Old 11-20-2009
what's wrong with using if/else ?
# 3  
Old 11-20-2009
Code:
case "$AGE" in
  [0-9]|10) echo 10 or less;;
  1[1-9]|20) echo 11 to 20;;
  2[1-9]|30) echo 21 to 30;;
  3[1-9]|40) echo 31 to 40;;
  4[1-9]) echo 41 to 49;;
  *) echo something else
esac


Last edited by Scott; 11-20-2009 at 10:46 AM..
# 4  
Old 11-21-2009
Ok I'm really confused. This is my code and everything works up to the case statement where for some reason it isn't even reading it. When I run the script it just stops after the echo $AGE line.

Any ideas?

Code:
echo "Please enter your birthyear."
read myBirth
echo $myBirth
let YEAR=$("date" "+%Y")
let AGE=$YEAR-$myBirth
echo $AGE

case "$AGE" in
        "[0-9]|10") echo "10 or less.";;
        
esac


Last edited by rbatte1; 09-16-2016 at 08:15 AM.. Reason: Added CODE tags
# 5  
Old 11-21-2009
remove the double quotes
# 6  
Old 11-21-2009
thanks!
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Print range of numbers

Hi I am getting an argument which specifies the range of numbers. eg: 7-15 Is there a way that i can easily (avoiding loop) print the range of number between and including the specified above. The above example should translate to 7,8,9,10,11,12,13,14,15 (3 Replies)
Discussion started by: tostay2003
3 Replies

2. Shell Programming and Scripting

Match on a range of numbers

Hi, I'm trying to match a filename that could be called anything from vout001 to vout252 and was trying to do a small test but I'm not getting the result I thought I would.. Can some one tell me what I'm doing wrong? *****@********>echo $mynumber ... (4 Replies)
Discussion started by: Jazmania
4 Replies

3. UNIX for Dummies Questions & Answers

Grep for a range of numbers?

I am trying to extract specific information from a large *.sam file (it's originally 28Gb). I want to extract all lines that are on chr3 somewhere in the range of 112,937,439-113,437,438. Here is a sample line from my file so you can get a feel for what each line looks like: seq.4 0 ... (8 Replies)
Discussion started by: genGirl23
8 Replies

4. Shell Programming and Scripting

grep for a range of numbers

Dear Friends, I want to know how to grep for the lines that has a number between given range(start and end). I have tried the following sed command. sed -n -e '/20030101011442/,/20030101035519/p' However this requires both start and end to be part of the content being grepped. However... (4 Replies)
Discussion started by: tamil.pamaran
4 Replies

5. UNIX for Dummies Questions & Answers

How to count how many numbers in a certain range?

Hi I have a data file with two columns which looks like: 1 42 2 40 3 55 4 50 5 38 6 49 7 33 8 46 9 39 10 33 11 33 12 26 13 46 14 44 15 55 16 54 17 30 18 32 (7 Replies)
Discussion started by: marhuu
7 Replies

6. UNIX for Dummies Questions & Answers

Frequency of a range of numbers

Hello, I have a column where there are values from 1 to 150. I want to get the frequency of values in the following ranges: 1-5 6-10 11-15 .... .... .... 146-150 How can I do this in a for loop? Thanks, Guss (1 Reply)
Discussion started by: Gussifinknottle
1 Replies

7. UNIX Desktop Questions & Answers

Specifying a range within case/esac

Complete Unix beginner here. I basically have this script - This seems to work fine. I want to try and shorten it by making it something like this - This isn't working. I think it's probably to do with the zero padding that `date +%H` gives me, but if I use `date +%k`, I get a space at... (3 Replies)
Discussion started by: Orbient
3 Replies

8. UNIX for Dummies Questions & Answers

List-to-Range of Numbers

Hello, I have two columns with data that look like this: Col1 Col2 ------ ----- a 1 a 2 a 3 a 4 a 7 a 8 a 9 a 10 a 11 b 6 b 7 b 8 b 9 b 14 (5 Replies)
Discussion started by: Gussifinknottle
5 Replies

9. Shell Programming and Scripting

read numbers from file and output which numbers belongs to which range

Howdy experts, We have some ranges of number which belongs to particual group as below. GroupNo StartRange EndRange Group0125 935300 935399 Group2006 935400 935476 937430 937459 Group0324 935477 935549 ... (6 Replies)
Discussion started by: thepurple
6 Replies

10. UNIX for Dummies Questions & Answers

Using grep on a range of numbers

Hi im new to unix and need to find a way to grep the top 5 numbers in a file and put them into another file. For example my file looks like this abcdef 50000 abcdef 45000 abcdef 40000 abcdef 35000 abcdef 30000 abcdef 25000 abcdef 20000 abcdef 15000 abcdef 10000 and so on... How can... (1 Reply)
Discussion started by: ProgChick2oo9
1 Replies
Login or Register to Ask a Question