String comparison with a space


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting String comparison with a space
# 1  
Old 03-04-2013
Oracle String comparison with a space

Hello Gurus,

I've searched enough to find what I wanted and finally ended up creating a thread.
I'm in the process of coding something like below

sed -n -e "s/.*\(successfully completed\).*/\1/p" xxx.log
read status
if [[ "$status" = successfully completed ]]
then
#sleep 3;
echo "Export successful and exiting"
else
Send the log file as attachment
/usr/sbin/sendmail -f "expdp error" name@email.com << END
subject: Expdp error log
`cat <path>/body-message.txt`
`uuencode xxxx.log xxxx.log`
END
fi

I've an issue in string comparison as the condition is not being met in "if " condition, and always sends me an email (that's satisfying the else condition)

Can some one please help.
# 2  
Old 03-04-2013
Please use code tags when posting code.

Why do you expect variable "status" to hold anything from the sed command? Assign to it from the sed command and skip the 'read'.
You can always 'echo' variable to see what it holds.

Code:
status=$(sed -n -e "s/.*\(successfully completed\).*/\1/p" xxx.log)
echo status $status
if [[ "$status" = "successfully completed" ]]
...


Last edited by mirni; 03-04-2013 at 03:09 AM.. Reason: added quotes
# 3  
Old 03-04-2013
Along with mirni's change, you have to add quotes
Code:
if [[ "$status" = "successfully completed" ]]

This User Gave Thanks to anbu23 For This Post:
# 4  
Old 03-04-2013
what you get when you manually execute

Code:
sed -n -e "s/.*\(successfully completed\).*/\1/p" xxx.log

---------- Post updated at 01:15 PM ---------- Previous update was at 01:13 PM ----------

Quote:
Originally Posted by anbu23
Along with mirni's change, you have to add quotes
Code:
if [[ "$status" = "successfully completed" ]]

shouldn't be "==" rather than "=" ?
# 5  
Old 03-04-2013
Thank you guys!

Mirin's suggestion helped me, when I used
status=$(sed -n -e "s/.*\(successfully completed\).*/\1/p" xxx.log)

"status=$" - this infact made the change.
I was thinking that the output "successfully completed" is being read and displayed from the "status", variable. I in fact, commented out all until sed and the program execution still displayed "successfully completed". so that narrated the story for me.

Thank you very much for all your help.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk string comparison unterminated quoted string andrule of thumb

I have the logic below to look up for matches within the columns between the two files with awk. In the if statement is where the string comparison is attempted with == The issue seems to be with the operands, as 1. when " '${SECTOR}' " -- double quote followed by single quote -- awk matches... (1 Reply)
Discussion started by: deadyetagain
1 Replies

2. Homework & Coursework Questions

passing letters from an array into a string for string comparison

attempting the hangman program. This was an optional assignment from the professor. I have completed the logical coding, debugging now. ##I have an array $wordString that initializes to a string of dashes ##reflecting the number of letters in $theWord ##every time the user enters a (valid)... (5 Replies)
Discussion started by: lotsofideas
5 Replies

3. Shell Programming and Scripting

to extract string from main string and string comparison

continuing from my previous post, whose link is given below as a reference https://www.unix.com/shell-programming-scripting/171076-shell-scripting.html#post302573569 consider there is create table commands in a file for eg: CREATE TABLE `Blahblahblah` ( `id` int(11) NOT NULL... (2 Replies)
Discussion started by: vivek d r
2 Replies

4. Shell Programming and Scripting

Help with string comparison

#!/bin/sh PRINTF=/usr/bin/printf MACHINE_NAME=`uname -n` TIME=`date +"%H"` $PRINTF "Welcome to $MACHINE_NAME. What is your name?\n" read NAME if ; then $PRINTF "Good morning $NAME, how are you?\n" elif ; then $PRINTF "Good afternoon $NAME, how are you?\n" else $PRINTF "Good... (2 Replies)
Discussion started by: ikeQ
2 Replies

5. UNIX and Linux Applications

Need Help on String Comparison

Hi , My requirement is to read from a file into a variable. I need to check if the variable is equal to string "no rows selected". The sh script snippet is as follows: file=/data/lpgtwo/home/nikhilp/TriggerNames.txt echo $file var=`cat $file` echo $var if then echo "No... (3 Replies)
Discussion started by: MNG
3 Replies

6. Shell Programming and Scripting

Help with String Comparison

I'm running the following script to compare string values to a regexp: for entry in $(lpinfo -v | cut -c 1-); do if then echo "blah" continue fi done Whenever I run it, each token of lpinfo is being interpreted as a command and I get errors such as: ... (2 Replies)
Discussion started by: hypnotic_meat
2 Replies

7. UNIX for Dummies Questions & Answers

string comparison

Hi Guys i need to write a script to check the file structure I have added the the file headers in the configuration file and execute the file at the start of the script. Now the function checkFileStructure() { echo "Inside the function" filetocheck=$1 fileheader=$2 if ] then... (1 Reply)
Discussion started by: Swapna173
1 Replies

8. Shell Programming and Scripting

string comparison

Hello experts, (tcsh shell) Quite new to shell scripting... I have got a file with a single word on each line. Want to be able to make a comparison such that i can read pairs of words that are ROT13 to each other. Also, i would like to print the pairs to another file. Any help... (5 Replies)
Discussion started by: Jatsui
5 Replies

9. Shell Programming and Scripting

string comparison

The script will read a bunch of names, and test if it contains "John", but as below apparently ~ does not work, so what is the easiest way to perform string comparison in bash shell script? thanks ... elif then echo "get John" .... (2 Replies)
Discussion started by: fedora
2 Replies

10. Programming

String Comparison

Hi all, I have a file like this ibhib=ere wefwfl=werfe sfdes=wef From this file, i need to get the lefthand side string with respect to the corresponding righthand side string. i.e, I need to get the string "ere" with respect to "ibhib". But i am stuck with how to compare a string... (1 Reply)
Discussion started by: abey
1 Replies
Login or Register to Ask a Question