Problems with an if statement


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Problems with an if statement
# 1  
Old 05-09-2012
Problems with an if statement

Hey guys/gals,

I am feeling extremely rusty today and having a problem with a monitoring script I am writing. I am trying to write a monitor using a entry in a line in log file. I can get the entry extracted from the file to a temp file. But when I try and do the if statement for the greater than I get a "integer expression expected" and I know it is because it isn't reading the number in the file. But I am not figuring out where I am going wrong.

Raw log data (there are multiple lines in the file.
Quote:
SX:Rate:0:0 MsgID:782 De:88 Me:781 db:90 DBX:7074 BS:111111111 Dlv:111111111 Re:2222222 ReM:0 A:88888888 D:99999999 Ac:88
Extraction Script:
Code:
cat /home/users/apps/alarms.log |grep Xdb: |tail -1 | awk '{print $6}' |awk -F: '{print $2}' > $OUTFILE1

Extracted String:
DBX:7074

Finish Result in outfile after above Script:
7074

Code:
Concern="85"
Danger="95"

OUTFILE1=/home/users/scottzx7rr/tmp/Conn1.out

### TEST FOR DBX Connections Count

## APP QUERY
cat /home/users/apps/alarms.log |grep Xdb: |tail -1 | awk '{print $6}' |awk -F: '{print $2}' > $OUTFILE1

## SNPP1 TEST RESULTS
if [ $OUTFILE1 -ge "$Danger" ]
then
        SNPP1=2
        TEXTLINE="Too many Connections. (Number of Connections:  $OUTFILE1)"

elif [ $SNPP1_OUTFILE -ge "$Concern" ]
then
        SNPP1=1
        TEXTLINE="Large number of Connections. (Number of Connections:  $OUTFILE1)"

else
        FIRST=0
        TEXTLINE="Connections are within tolerances.   (Number of Connections:  $OUTFILE1)"

fi

So then I want to compare the file (7074) and if it is greater than 95 show the "Too Many Connections results". If greater than 85 show the "Large number" and if less than 85 show the "Connections are within"
# 2  
Old 05-09-2012
OUTFILE1 has value /home/users/scottzx7rr/tmp/Conn1.out. You must pull the content of OUTFILE1 than compare it with $Danger
# 3  
Old 05-09-2012
You don't need to cat into grep; grep can read the file on its own. Secondly, you can get by with one awk process rather than the whole pipeline, and you can assign the output to your variable rather than putting it into a file and having to read it back. If you do it that way, then you can compare directly. For example assuming kshell or bash:

Code:
danger=95
concern=80
cconn=$( awk '/DBX/ { split( $6, a, ":" ); c = a[2]; } END { print c }' /home/users/apps/alarms.log )
if (( cconn > danger ))
then
    echo "too many connections: $cconn"
else
    if (( cconn > concern ))
    then
        echo "large number of connections: $cconn"
    else
        echo "number of connections acceptable: $cconn"
    fi
fi

# 4  
Old 05-24-2012
Thanks guys for the input. I was able to resolve my issue with your guys help.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Convert Update statement into Insert statement in UNIX using awk, sed....

Hi folks, I have a scenario to convert the update statements into insert statements using shell script (awk, sed...) or in database using regex. I have a bunch of update statements with all columns in a file which I need to convert into insert statements. UPDATE TABLE_A SET COL1=1 WHERE... (0 Replies)
Discussion started by: dev123
0 Replies

2. Shell Programming and Scripting

Problems with if statement

Hi guys..i'm totally new to linux shell scripting and i have written a simple script that allows to poll a directory and when there is at least one file, it is moved to another directory. But i have an error in the if statement " Syntax error: "then" unexpected (expecting "done")" #!/bin/bash... (2 Replies)
Discussion started by: GrifoneSeduto
2 Replies

3. Shell Programming and Scripting

Problems with find | ls within a for statement

Hello, for dir in `find /root/test -type d` ;do echo "$dir" done for dir in `ls -1d /root/test/*/` ;do echo "$dir" done If there's a directory with spaces in name, it does echo each word of that dir separately... solution? mkdir "test" cd test mkdir "example_1_2_3"... (6 Replies)
Discussion started by: TehOne
6 Replies

4. UNIX for Dummies Questions & Answers

If statement (yes or no)

I have the program: #!/bin/ksh echo Please enter yes or no read n typeset -l n if ] then echo My name exit else echo delete my name fi Question: How can I make the program accept only the word "yes" or "no" otherwise it will ask the user to re-enter? Thanks! (7 Replies)
Discussion started by: bobo
7 Replies

5. Shell Programming and Scripting

How is use sselect statement o/p in insert statement.

Hi All, I am using Unix ksh script. I need to insert values to a table using the o/p from a slelect statement. Can anybody Help! My script looks like tihs. ---`sqlplus -s username/password@SID << EOF set heading off set feedback off set pages 0 insert into ${TB_NAME}_D... (2 Replies)
Discussion started by: nkosaraju
2 Replies

6. UNIX for Dummies Questions & Answers

Problems with "IF" statement

Hi, I am facing a strange problem when i use "if" statement in my shell script. When i run this script , i get the following error - *********************** $ sh test.ksh : command not found CX is 3 characters in length CX = CR : command not found test.ksh: line 13: syntax error near... (4 Replies)
Discussion started by: aveerabadran
4 Replies

7. Shell Programming and Scripting

If statement - How to write a null statement

In my ksh script, if the conditions of a if statement are true, then do nothing; otherwise, execute some commands. How do I write the "do nothing" statement in the following example? Example: if (( "$x"="1" && "$y"="a" && "$z"="happy" )) then do nothing else command command fi... (3 Replies)
Discussion started by: april
3 Replies

8. UNIX for Dummies Questions & Answers

if [] statement

Hi, Being new to Unix I came across a statement like if ; then... Does anyone know what they call the -f and where I can find a whole list of options that I can use. Regards jayram7. :confused: (2 Replies)
Discussion started by: jayram7
2 Replies

9. Shell Programming and Scripting

if statement problems...need some help.

Hey all. I have written a script to clear all of the context records from our scanning guns. The problem is, whenever I run the script, it just freezes and does nothing. I'm not getting any errors so I'm not exactly sure what I'm doing wrong. Here is the script... #!/bin/ksh... (1 Reply)
Discussion started by: jalge2
1 Replies

10. UNIX for Advanced & Expert Users

'make' problems (compliation problems?)

I'm trying to compile and install both most recent version of 'make' and the most recent version of 'openssh' on my Sparc20. I've run into the following problems... and I don't know what they mean. Can someone please help me resolve these issues? I'm using the 'make' version that was... (5 Replies)
Discussion started by: xyyz
5 Replies
Login or Register to Ask a Question