The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > Shell Programming and Scripting
Google UNIX.COM


Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts here.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
read a variable character by character, substitute characters with something else vipervenom25 UNIX for Dummies Questions & Answers 2 06-06-2008 12:18 PM
How to extract first column with a specific character selamba_warrior Shell Programming and Scripting 3 05-22-2008 02:14 AM
How to change a specific character in a file sdubey Shell Programming and Scripting 6 02-22-2008 12:30 PM
Escaping specific character in awk brainyoung Shell Programming and Scripting 4 01-28-2008 10:42 AM
How to add character in specific position of a string? victorlung Shell Programming and Scripting 5 09-01-2006 07:33 AM

Reply
 
Submit Tools LinkBack Thread Tools Search this Thread Display Modes
  #1  
Old 05-10-2008
Registered User
 

Join Date: May 2008
Posts: 20
[csh] checking for specific character ranges in a variable

I want to check if a zip code is valid, using a variable that stores the zipcode. I am not sure how I would do this in a script. I know that simply checking for the numerical range of the number will not work, because '1' would be '00001' in zip code format. I know when I am in shell, I can use wildcards and ranges to find certain files. How would I do something similar in C shell scripting? This following code is my attempt of checking for correct zip code format.

Code:
if ( $zipcode == "[0-9][0-9][0-9][0-9][0-9]" ) then
    echo Zip code is in correct format
Reply With Quote
Forum Sponsor
  #2  
Old 05-10-2008
 

Join Date: Nov 2007
Location: 45.48-73.63
Posts: 736
Code:
set zipcode=01234
test $zipcode="[0-9][0-9][0-9][0-9][0-9]" && echo Zip code is in correct format || echo NOK
Reply With Quote
  #3  
Old 05-10-2008
Registered User
 

Join Date: May 2008
Posts: 20
Quote:
Originally Posted by danmero View Post
Code:
set zipcode=01234
test $zipcode="[0-9][0-9][0-9][0-9][0-9]" && echo Zip code is in correct format || echo NOK
Thanks. So it's not possible to check using the if statement?
Reply With Quote
  #4  
Old 05-10-2008
 

Join Date: Nov 2007
Location: 45.48-73.63
Posts: 736
Yes it is but that's your homework
My example show you a basic AND/OR concept.
Reply With Quote
  #5  
Old 05-11-2008
Registered User
 

Join Date: May 2008
Posts: 20
Quote:
Originally Posted by danmero View Post
Yes it is but that's your homework
My example show you a basic AND/OR concept.
How come my code in the OP does not work? Is there a different syntax I need for the condition of my if statement?
Reply With Quote
  #6  
Old 05-11-2008
drl's Avatar
drl drl is online now
Registered User
 

Join Date: Apr 2007
Location: Saint Paul, MN USA / BSD, CentOS, Debian, OS X, Solaris
Posts: 554
Hi.
Quote:
Originally Posted by userix View Post
How come my code in the OP does not work? Is there a different syntax I need for the condition of my if statement?
My specific suggestion is to look in man csh for "==".

My general suggestion is to avoid csh for scripting if at all possible. I often use tcsh for interactive work, but I use the Bourne shell family for scripting. It makes life far easier for me. See Csh Programming Considered Harmful for details.

Best wishes ... cheers, drl
Reply With Quote
Google The UNIX and Linux Forums
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes




All times are GMT -7. The time now is 12:16 PM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited.
The UNIX and Linux Forums Content Copyright ©1993-2008. All Rights Reserved.Ad Management by RedTyger Visit The Complex Event Processing Blog

Content Relevant URLs by vBSEO 3.2.0