Visit The New, Modern Unix Linux Community


validate number range


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting validate number range
# 1  
validate number range

Hi

If I want to read user input and want to validate if it is a numeric number in some range of 1-100 what would be the best way?

Sabina
# 2  
You need to tell us which shell and what system. But for ksh this should work

print -n "enter number - "
read val
if [[ $val -ge 1 && $val -le 100 ]] ; then
# 3  
hi

I am using bourne shell. I used your script it works as long as I enter a number.

I want it to fail if I enter a string by mistake.

Thanks for your reply.

Sabina
# 4  
Code:
print -n "enter number - "
read val

echo $val | grep "[a-zA-Z]"

if test $? -ge 1
then
   if [[ $val -ge 1 && $val -le 100 ]] ; then
     print "OK"
   else
     print "NOT in 1-100 range"
   fi
else
  print "Not a number"

fi

This User Gave Thanks to bhargav For This Post:
# 5  
A slight variation on bhargav's script to ensure that only numeric digits are passed, and symbols as well as letters are rejected....
Code:
#!/bin/sh

echo "Enter number"
read val

if echo $val | egrep '^[0-9]+$' >/dev/null 2>&1
then
  if [ $val -ge 1 -a $val -le 100 ]; then
     echo "OK"
  else
     echo "Out of range"
  fi
else
  echo "Not a number"
fi

exit 0

Cheers
ZB
This User Gave Thanks to zazzybob For This Post:
# 6  
hi Zb and bhargav

Thanks a lot for your time. It was really useful.

Sabina

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #400
Difficulty: Medium
The first release for HP 9000 Series 500 HP-UX for Series 500 was HP-UX 1.0 (1982).
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Detect continuous number as range

I have 100k data like this bellow , i want to group data to range 171 172 173 174 175 176 179 182 183 187 188 189 1900 1901 1903 1904 1905 1906 (10 Replies)
Discussion started by: before4
10 Replies

2. UNIX for Dummies Questions & Answers

Using sed to replace a range of number

Trying to use SED to replace numbers that fall into a range but can't seem to get the logic to work and am wondering if SED will do this. I have a file with the following numbers 3 26 20 5. For the numbers that are greater than zero and less than 25, SED would add the word range after the... (7 Replies)
Discussion started by: jimmyf
7 Replies

3. Shell Programming and Scripting

Generating Random Number in certain range

Hi there I am trying to generate a random number between 40 and 70 using the shell here is my code so far and it keeps going above 70. all help much appreciated! comp=$(( RANDOM%70+40 )) echo $comp (4 Replies)
Discussion started by: faintingquiche
4 Replies

4. Shell Programming and Scripting

Fill data if number range is given

Hi I want to get all numbers if number range is given as input. Eg: INPUT FILE 100-105 107 108-112 OUTPUT REQUIRED: 100 101 102 103 104 105 107 108 109 110 111 112 How can I do it using shell? :confused: Thanks in advance. (11 Replies)
Discussion started by: dashing201
11 Replies

5. Shell Programming and Scripting

If statement test against number range [0-9]

Is it possible to test against a varible within a ranges in a if statement. ex. if ];then echo "not in range" else echo "number within range" fi (8 Replies)
Discussion started by: leemalloy
8 Replies

6. Shell Programming and Scripting

Range of number from 0.1 to 10.0

Is there a way to create a loop that will output number starting from 0.1 to 10.0 0.1 0.2 0.3 0.4 0.5 .. ... 10.0 This is what i tried. for i in {1..50}; do printf -v i '%02d' $i ; echo "$i"; done That will print 01 02 03 .. .. 50 (9 Replies)
Discussion started by: vietrice
9 Replies

7. Shell Programming and Scripting

Closest Number from a Range of Numbers

out of a range of numbers, how can i pick out the number that is the closest to any arbitrary/random number that a user supplies? say the range of numbers are between 1 - 90000. but that doesn't mean each number exist between 1 - 90000. the range of numbers could be for example: 1, 3, 4, 6,... (6 Replies)
Discussion started by: SkySmart
6 Replies

8. Shell Programming and Scripting

Number range for SSNs

Hi All. I have a file that has an ID Number field....some of the ID Numbers are actual SSNs. ...does anyone know the range that SSNs may be...this is what I have found so far poking around SSN info sites.... greater than 001-01-0000 and less than 770-00-0000. Does anyone know this to be... (1 Reply)
Discussion started by: lyoncc
1 Replies

9. Shell Programming and Scripting

extract number range from a file

Hi Everyone, a.txt 1272904667;1272904737;1 1272904747;1272904819;1 1272904810;1272904857;1 1272904889;1272904926;1 1272905399;1272905406;1 1272905411;1272905422;1 if i want to get the record, when the a.txt 1st field is between 1272904749 and 1272905399, any simple way by using awk,... (1 Reply)
Discussion started by: jimmy_y
1 Replies

10. Shell Programming and Scripting

PERL: Simple reg expr validate 6 digits number

Hi there! I'm trying to validate a simple 6 digits number with reg expr. I ONLY want 6 digits so when i type 7 digits the script should no validate the number. I've write this code: #!/usr/bin/perl while(<STDIN>){ if($_=~/\d{6}/){ print "Bingo!\n"; ... (2 Replies)
Discussion started by: BufferExploder
2 Replies

Featured Tech Videos