Help with if statement in ksh script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help with if statement in ksh script
# 1  
Old 05-07-2007
Help with if statement in ksh script

I need a way to grep for a string in a file and if it finds it, to print set a variable to "Yes", if it doesn't find the string in a file to set the variable to "No". I plan on using these variables to print a table that lists whether the string was found or not.

For example
Code:
print "File     "String1"
print "--     "-------"
for file in `symcfg list | grep ^"    0" | cut -c13-16 | sort`
do
{
if
[ 'grep string1 $file 2>&1 /dev/null ']
then
string1=yes
else 
string1=no
fi
print $file $string1
}
done

This doesn't work since string1 is always going to be equal to yes even if the string is not found.

Here is the entire short script:
Code:
print "Symm ID          Verizon_Performance_Window      Verizon_Swap_Window"
echo "-------           --------------------------      -------------------"
for Symm in `symcfg list | grep ^"    0" | cut -c13-16 | sort`
do
{
        symoptmz -sid $Symm -parms show > Symopt_Check_$Symm
        if 
                [ 'grep Verizon_Performance_Window Symopt_Check_$Symm 2>&1 /dev/null' ]
                 then
                 VPW=Yes
        else
                 VPW=No
        fi
        if 
                [ 'grep Verizon_Swap_Window Symopt_Check_$Symm 2>&1 /dev/null' ]
                then
                VSW=Yes
        else
                VSW=No
        fi
        print $Symm "                   " $VPW "                                " $VSW
}
done


Last edited by blowtorch; 05-07-2007 at 11:05 AM.. Reason: code tags
# 2  
Old 05-07-2007
Try replacing the if-else-fi loops with this:
Code:
grep Verizon_Performance_Window Symopt_Check_$Symm 2>&1 /dev/null
if [ $? -eq 0 ]; then
                 VPW=Yes
else
                 VPW=No
fi
grep Verizon_Swap_Window Symopt_Check_$Symm 2>&1 /dev/null
if [ $? -eq 0 ]; then
                VSW=Yes
else
                VSW=No
fi

Note- this is not tested.
# 3  
Old 05-07-2007
You can also use -q option of the grep command :
Code:
if grep -q Verizon_Performance_Window Symopt_Check_$Symm
then
                 VPW=Yes
else
                 VPW=No
fi
if grep -q Verizon_Swap_Window Symopt_Check_$Symm
then
                VSW=Yes
else
                VSW=No
fi

Jean-Pierre.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

If Not Diff statement in ksh 88

Hi I tried the below code where it is working properly #!/bin/ksh set -x date1_data=abc.txt date2_data=bcd.txt if diff $date1_data $date2_data >/dev/null ; then echo "Equal" else echo "Not Equal" fi Then I tried like below where i want to use only if fi not else part ... (3 Replies)
Discussion started by: smile689
3 Replies

2. Shell Programming and Scripting

KSH If statement.

How can I search get if to pinpoint 1 word in a line and have it do something for me? example: KEY1="<< Response ... Total of 2 >> Sun Jun 19 15:30:18 2011 Tx Power Level is 27.7 Bm ~ " if ]; then command; else error; fi Thats just a quick sample. I want my if statement to se the... (5 Replies)
Discussion started by: 82280zx
5 Replies

3. Shell Programming and Scripting

If statement is not working in KSH

#! /bin/ksh rm -f ./xyz file --- this line is working // Below any if stmt is not working. if then echo " blah blah " fi or I replaced above if with if then echo "dir exists" fi This is also not working. I am new to KSH. So can someone help why if stmt is not... (31 Replies)
Discussion started by: saggy9583
31 Replies

4. Shell Programming and Scripting

Pass a DDL statement to a KSH script

I need to pass a DDL statement into a ksh script & parse the statement. What is the best way to pass a DDL statement into a KSH script. ---------- Post updated at 09:28 AM ---------- Previous update was at 07:35 AM ---------- if the name of the script is test.ksh test.ksh "ALTER TABLE... (12 Replies)
Discussion started by: gayathree
12 Replies

5. Shell Programming and Scripting

How to call an sql script inside a while statement in KSH

Hi all, I'm trying to run an sql inside a loop which looks like this #!bin/ksh while IFS=, read var1 var2 do sqlplus -s ${USERNAME}/${PASSWORD}@${ORACLE_SID} << EOF insert into ${TABLE} ( appt_date ) values ( '${var1 }' ); ... (6 Replies)
Discussion started by: ryukishin_17
6 Replies

6. Shell Programming and Scripting

KSH if statement

Hi guys, im new to UNIX so bear with me. would it be possible for me to create an if statement where i can have a key being entered and something happening after that. (bad explanation) eg. If user enters letter 'q' then close window or exit puTTy Thanks in advance (1 Reply)
Discussion started by: robbrad
1 Replies

7. Shell Programming and Scripting

ksh case statement

I am trying to write a ksh script using the case statement to select certain directories to remove. The directories that I am looking for are in the following format 2008-10-10. I want to exclude all other files/directories that contain anything other the 4 digit year,a dash, 2 digit month, a... (2 Replies)
Discussion started by: dgilc
2 Replies

8. Shell Programming and Scripting

how to use if statement in ksh script

Hi, I need to compare two variables using if condition and i am not sure if am right or wrong. My code is like : if then echo "new file" else echo "old file and remove it" fi where both variables contain time : filetime contains the time when a file... (2 Replies)
Discussion started by: manmeet
2 Replies

9. UNIX for Dummies Questions & Answers

Let statement in ksh HELP

I have: datafile contains 1234567890 >wc -c datafile | awk '{print $1}' >11 The program #!/bin/ksh let n = (wc -c datafile | awk '{print $1}') echo $n I expect n to be 11 but it gives error message. What is wrong with this statement? Thanks! (3 Replies)
Discussion started by: bobo
3 Replies

10. UNIX for Dummies Questions & Answers

if statement in ksh

what is the problem with this comparison in ksh script: if " ] it gives syntx error (3 Replies)
Discussion started by: gfhgfnhhn
3 Replies
Login or Register to Ask a Question