Comparing Special characters (i.e. -,\,/) in an if statment


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Comparing Special characters (i.e. -,\,/) in an if statment
# 1  
Old 11-20-2008
Comparing Special characters (i.e. -,\,/) in an if statment

I need to validate the special characters of a date (the characters between the year and month & month and day). The data filed is being populated by users and read into the script vi an argument. I want to ensure that the date is a '-' (dash) and not a '/' or '\' (slash).

The every thing I have tried has failed and I have run out of ideas. I'm new to scripting and don't know where else to turn. Please help if you can. Thanks.

# ! /bin/ksh
set -x
V_DATE='2008-08-30'
echo $V_DATE
V_DATE_DASH1=`echo $V_DATE | cut -c 5`
echo 'INFO V_DATE_DASH1: ' $V_DATE_DASH1>>${LOGFILE}
V_DASH='-'
echo 'INFO V_DASH:'$V_DASH>>${LOGFILE}
echo $V_DATE_DASH1 = $V_DASH
if `${V_DATE_DASH1} = ${V_DASH}`
then echo 'INFO V_DATE_DASH1 is OK'>>${LOGFILE}
else echo 'ERROR V_DATE_DASH1 not a "-" '>>${LOGFILE}
usage
fi
# 2  
Old 11-21-2008
corrected your code but maybe I had too much "beaujolais nouveau" just now...

Code:
#!/usr/bin/ksh
set -x
V_DATE='2008-08-30'
echo $V_DATE
V_DATE_DASH1=$(echo $V_DATE | cut -c 5)
echo 'INFO V_DATE_DASH1: ' $V_DATE_DASH1
V_DASH="-"
echo 'INFO V_DASH:'$V_DASH
read pp
echo $V_DATE_DASH1 = $V_DASH
read pp
if [ "$V_DATE_DASH1" = "$V_DASH" ]
   then echo "INFO V_DATE_DASH1 is OK"
else echo "ERROR V_DATE_DASH1 not a "-" "
   usage  # Im waiting to see...
fi

You can tell me off, I really had too much...

Last edited by vbe; 11-21-2008 at 09:25 AM..
# 3  
Old 11-21-2008
Computer

Thank you. I really appreciate the help. Have another glass to celebrate, it works.Smilie
# 4  
Old 11-21-2008
It was my pleasure.


Best regards
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

comparing special characters in KSH

Hi Guys, I came across a scenario where I have to check the starting character of line in a file. if it is a specile character i.e. "<" gretaer then perform action. I tried serval ways but could not get the work done. Please help me .... Thanks (6 Replies)
Discussion started by: ravi111_07
6 Replies

2. Shell Programming and Scripting

Replace special characters with Escape characters?

i need to replace the any special characters with escape characters like below. test!=123-> test\!\=123 !@#$%^&*()-= to be replaced by \!\@\#\$\%\^\&\*\(\)\-\= (8 Replies)
Discussion started by: laknar
8 Replies

3. Shell Programming and Scripting

Grep with special Characters

Need Help For GREP I have a file say g1.txt and content of file is below REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoDrives /t REG_DWORD /d 4 /f , REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoClose /t REG_DWORD /d 1 /f ,... (4 Replies)
Discussion started by: jalpasoni
4 Replies

4. Shell Programming and Scripting

Replace special characters

I have a line ending with special character and 0 The special character is the field separator for this line in VI mode the file will look like below, but while cat the special character wont display i know the hexa code for the special character ^_ is \x1f and ascii code is \0037, ... (0 Replies)
Discussion started by: ratheeshjulk
0 Replies

5. Shell Programming and Scripting

special characters

Hey guys, I'm trying to replace "]Facebook" from the text but sed 's/]Facebook/Johan/g' is not working could you please help me with that? (6 Replies)
Discussion started by: Johanni
6 Replies

6. UNIX for Dummies Questions & Answers

How to see special characters?

Hi all, I was wondering how can i see the special characters like \t, \n or anything else in a file by using Nano or any other linux command like less, more etc (6 Replies)
Discussion started by: gvj
6 Replies

7. Shell Programming and Scripting

Special characters

When I open a file in vi, I see the following characters: \302\240 Can someone explain what these characters mean. Is it ASCII format? I need to trim those characters from a file. I am doing the following: tr -d '\302\240' ---------- Post updated at 08:35 PM ---------- Previous... (1 Reply)
Discussion started by: sid1982
1 Replies

8. Shell Programming and Scripting

Escaping Special Characters-Help

Hi All, I am having a trouble in passing special characters to a script. As I am new to bash script I dont know how to go and solve this. mypwd=(a+sdfg!h# if i pass $mypwd to a bash script, it is not accepting "(,!,+ etc". It would be a great help if some one can help to escape these... (3 Replies)
Discussion started by: Tuxidow
3 Replies

9. UNIX and Linux Applications

get rid of special characters

Hi Friends, we have recently installed RHEL4.4 and when i give the commd ls -l > tt it prints the file name with some special charactes like ^[[00m1 in the begining of the file name and at the end of the file name. I wanted to use the file names of removing it before taking the backup and... (4 Replies)
Discussion started by: vakharia Mahesh
4 Replies

10. UNIX for Dummies Questions & Answers

special characters

I have one file which is named ^? ( the DEL character ) I'd like to know how to rename or copy the file by using its i-node number TYIA (2 Replies)
Discussion started by: nawnaw
2 Replies
Login or Register to Ask a Question