To Check whether the Input is a Year or Not?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting To Check whether the Input is a Year or Not?
# 1  
Old 08-06-2012
To Check whether the Input is a Year or Not?

Hi Guys

I have a Requirement that the input will be given and i have to check whether the input is a Year or not.

For Example

2004,2009 and so on forth will be considered a year and anything else like
12:15 or else will not be.

Have built the below Code


Code:
set -x

echo " Enter the Variable to be tested"
read Test_Var

case $Test_Var in

[1000-9999] )  echo "It is a Year";;
 * )           echo "Is is not a Year";;
esac

But everything is going to the "Not Year" Part.

I am little bit new to Shell Scripting. So needed your Help.


Regards
Ajesh


Moderator's Comments:
Mod Comment Please use code tags next time for your code and data.

Last edited by zaxxon; 08-06-2012 at 05:22 AM.. Reason: code tags
# 2  
Old 08-06-2012
Code:
case $Test_Var in
[1-9][0-9][0-9][0-9] )  echo "It is a Year";;
                   * )  echo "Is is not a Year";;
esac

This User Gave Thanks to balajesuri For This Post:
# 3  
Old 08-06-2012
Try
Code:
case $Test_Var in  
    [1-9][0-9][0-9][0-9] )  echo "It is a Year";; 
     * )           echo "Is is not a Year";;
esac

This User Gave Thanks to hergp For This Post:
# 4  
Old 08-06-2012
Bug try this.....

Code:
echo " Enter the Variable to be tested"
read Test_Var

if [[ "$Test_Var" -gt 999  && "$Test_Var" -lt 10000 ]]
then
echo "It is a Year";
else
echo "Is is not a Year";
fi

# 5  
Old 08-06-2012
Simultaneous post Smilie
# 6  
Old 08-06-2012
I had tried that but when it comes to a symbol lile ; or >>. the Shell gives a compilation Error while running.

Thanks Anyway


Quote:
Originally Posted by pamu
Code:
echo " Enter the Variable to be tested"
read Test_Var

if [[ "$Test_Var" -gt 999  && "$Test_Var" -lt 10000 ]]
then
echo "It is a Year";
else
echo "Is is not a Year";
fi

# 7  
Old 08-06-2012
Note that
Code:
case $Test_Var in

[1000-9999] )  echo "It is a Year";;
 * )           echo "Is is not a Year";;
esac

will match a single character that is 1, 0, 0, any single digit in the range 0 through 9, 9, 9, or 9. So if Test_var had been set to "6", it would say it is a year. Bracket expressions don't look for ranges of numeric values.

Hope this helps you understand what was going wrong.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Check whether input is numeric

Hello there, find below for my code first: $pdp_asaba=`cat /tmp/temp_total | grep asaba | sed 's/*//g'` if ]] then pdp_asaba=0 fi $pdp_abuja=`cat /tmp/temp_total | grep abuja | sed 's/*//g'` if ]] then pdp_abuja=0 fi $pdp_ojota=`cat /tmp/temp_total | grep ojota | sed 's/*//g'` if ... (3 Replies)
Discussion started by: infinitydon
3 Replies

2. UNIX for Dummies Questions & Answers

Check Column corresponding to input

I have a file which extracts data from an HTML file For Eg HTML file contains: New York;ABC;145;Yes;YES;No New York;BCD;113;Yes;YES;No New York;NAS;63;Yes;YES;No ------------------------ London-48;CBT;16;Yes;YES;No London-48;CME;17;Yes;YES;No London-48;EUR;52;Yes;YES;No... (7 Replies)
Discussion started by: newkid.7955
7 Replies

3. Shell Programming and Scripting

Check user input

Hi, I need my script to check if the user enters 3 values if not 5 values to my script and alert if the input has any other number of values. for example: ./myscript.sh 22 56 3221 - > correct ./myscript.sh 22 56 3221 45 777 -> correct ./myscript.sh 22 56 3221 45 -> incorrect Please... (6 Replies)
Discussion started by: mohtashims
6 Replies

4. Shell Programming and Scripting

Input file check

Hi, I have a script which runs daily. It gets 3 input files test1,test2,test3. I want to do a validation in my script to make sure i have all the 3 files available before running. If any one of the file is missing i want to break the script. Could you please help me with this request. ... (1 Reply)
Discussion started by: Krrishv
1 Replies

5. Shell Programming and Scripting

Check input parameter

Hi all i need to check that if user has passed any input parameter while executing he shell script like ./test1.sh -a"-v" then do smothing if user execute the script without giving input paramater then ./test1.sh then do something how can we check this input parameter (6 Replies)
Discussion started by: aishsimplesweet
6 Replies

6. Programming

How to check an input variable

Suppose we have a simple situation, like the following C++ instructions: int x; cout << "Insert x: "; cin >> x; while ( x-- < 0 ) ; Of course, if it is written something different from an integer, the while loop shall not end. So, how can we check if the input x is of the right type? (2 Replies)
Discussion started by: Luke Bonham
2 Replies

7. UNIX for Dummies Questions & Answers

check the input

how to check whether a given input is a number or a string? (1 Reply)
Discussion started by: Shilpi
1 Replies

8. Shell Programming and Scripting

How to check for a valid numeric input

Hi Folks, I'm using bash script. I would like to check whether input is a number or not.(Only positive numbers).. if space or non numeric is entered, it should say "invalid input". pls help.. thanks in adv. Br/// Vijay. (1 Reply)
Discussion started by: Vijayakumarpc
1 Replies

9. Shell Programming and Scripting

Check on Input

HI all, I would like to know how the user can be restricted for entering only the number and not characters in sheel scripts.. Suppose code is like this echo 'Enter the number' read Value Now user may enter 'a' as value... But i want to disallow him for entering characters other than... (3 Replies)
Discussion started by: dhananjaysk
3 Replies

10. Shell Programming and Scripting

What can i do to check that the input is all alphabet.. ?

What can i do to check that the input is all alphabet.. ? (4 Replies)
Discussion started by: XXXXXXXXXX
4 Replies
Login or Register to Ask a Question