Compare text strings.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Compare text strings.
# 1  
Old 05-19-2010
Compare text strings.

Hi Im trying to write a script that compare a text string.
But it fails, I think it adds a extra line feed to the result and fails beacuse of that.

The script.

Code:
DT=`date +'%Y%m%d%H%M%S'`
#ALARM_BIN=/users/alarms/ssa/alarms/bin
QUEUE_THR=10
#unset offset
#offset="***Server reports data not found"
#offset=330000
offset=`xntpdc -p |awk '{ print $7 }' |tail -1| (sed -e 's/^-//' -e 's/\.//')`
echo "$offset"
if [ "$offset" = "***Server reports data not found" ]; then
        echo "Connection to NTP server lost"
        ${ALARM_BIN}/alarm_raise NTPCHECK ntp_check 8 8505 MAJOR "Connection to NTP server lost" SSOO

        else
        if (( $offset > 300000 )); then
        echo "Client clock off by 0.3 seconds or more"
        ${ALARM_BIN}/alarm_raise NTPCHECK ntp_check 8 8507 MAJOR "Client clock off by 0.3 seconds or more" SSOO

        else
        echo "NTP server connection and client clock OK"
        ${ALARM_BIN}/alarm_raise NTPCHECK ntp_check 14 8606 CLEAR "NTP server connection and client clock OK" SSOO
        fi
fi

The result is as follows
If the ntp server is available it returns a number
Code:
ntp_check
0060277
NTP server connection and client clock OK

If the ntp server is unavailable
ntp_check
***Server reports data not found

./ntp_check[16]:   > 300000 : syntax error

It fails doing the comparision I dont understand why.
Why is there a blank line below
Code:
***Server reports data not found

Thanks.
# 2  
Old 05-19-2010
Code:
 if (( $offset > 300000 )); then

Should be

Code:
if [ $offset -gt 300000 ]; then

# 3  
Old 05-19-2010
Thanks JGT.
I supoose that your way might be more correct. But that part of the code is actually working.
Beacuse if I put in numbers higher or lower than 300000 i get the results that I want.

My focus is on solving the comparision of the character string that is failing
and as a secondary effect gives the
> 300000 : syntax error
# 4  
Old 05-19-2010
When $offset is not numeric, does it end with a carriage return?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Ubuntu

Compare 2 strings

I think there is a way to detect mouse movement. valuator changes if the mouse moves. So I need to compare the two strings. Not sure how to do that. How could I send the valuator string to a file ? I would need to do it twice. andy@7_~/Downloads$ xinput query-state 9 2 classes :... (7 Replies)
Discussion started by: drew77
7 Replies

2. UNIX for Beginners Questions & Answers

If statement to compare two strings

Hi, I am trying to do the following to see if "ip" is already present in a file. if ; then echo "hi" else echo "hello" fi I am seeing errors on the if statement. Can someone please correct the syntax for me? Thanks (2 Replies)
Discussion started by: waince
2 Replies

3. Shell Programming and Scripting

Compare 2 Strings

I have 2 values V_1_4_4_b1 and V_1_5_1_RC_b1. I would need to compare them and determine if the 1st value is greater, less or equal than the 2nd value. The result should need to have a return value. I have below code in bash function but it seems it is not comparing it correctly. Any help will... (8 Replies)
Discussion started by: aderamos12
8 Replies

4. Shell Programming and Scripting

How to compare two strings in a file

hello guyzz please help me out.. I have two file a.sh and b.sh it contains two string SD109 ,SD108 . I want to compaere these two string . If a.sh>b.sh do rebasing record time. else it shows no rebasing required. Thanks. (2 Replies)
Discussion started by: abhijtr
2 Replies

5. Shell Programming and Scripting

Compare two strings

hi.. i have a problem to compare two string my code is like that if ] then echo "both data are correct" elif ] echo "data is wrong" fi here $username1 is taking value from file.. (7 Replies)
Discussion started by: shubhig15
7 Replies

6. Shell Programming and Scripting

How to Compare 2 Strings ?

Hello , I want to Compare with 2 strings and get if they are True or not please would like some help on this #!bin/ksh echo "Enter Name 1" read Name1 echo "Enter Name 2" read Name2 echo "------------------------" echo "First Name: $Name1" echo "Second Name: $Name2" echo... (25 Replies)
Discussion started by: shatztal
25 Replies

7. Shell Programming and Scripting

How to compare two strings using if

Hi, Here is my script #!/bin/ksh echo $pick_typ if ];then echo "inside if" else echo "outside if" fi when ever i pass CUS as parameter to this script am getting the correct value CUS, however if i pass ORD as parameter it is not coming inside if it is echoing else "Outside... (12 Replies)
Discussion started by: bhargav20
12 Replies

8. Shell Programming and Scripting

compare strings, words in different order

Hi, Would anyone know how to compare two strings, and only throw an error if there were different words, not that the same words were in a different order? e.g "A B C" vs "B C A" ->OK "A B C" vs "A D C" -> BAD Thanks! (2 Replies)
Discussion started by: rebelbuttmunch
2 Replies

9. Shell Programming and Scripting

How to compare two strings

Hi all, I am trying to compare two strings/dates, but its throwing error::Syntax error at line 5: Please help !! Any alternate way to compare two dates is also fine.... logdate1=`date -u '+%Y.%m.%d %T'` sleep 5 logdate2=`date -u '+%Y.%m.%d %T'` if test... (5 Replies)
Discussion started by: prashant43
5 Replies

10. Shell Programming and Scripting

to compare two strings

hi all, i am new to unix. Actually i need to compare two string and print the result... suppose type='sun' if; then echo good morning else echo good night fi whether the comparison is right r we need to use eq???? help me please.... :confused: thanks in advance.... (1 Reply)
Discussion started by: ithirak17
1 Replies
Login or Register to Ask a Question