Hi All,
I am not much strong in shell scripting...
I am using sed command in my script to find and replace a string.......
This is how script looks :
#############
#!/usr/bin/ksh
CONFIG_FILE=iom_test.txt
FIND=`echo "NIS_FTP_SERVER1=123.456.iom.com"`
REPLACE=`echo "##NIS_FTP_SERVER1=123.456.iom.com"`
export CONFIG_FILE FIND REPLACE;
## Replace all Special characters[#, , ., and =] and store it back to FIND
NEW_FIND=`echo "$FIND" | sed 's/\#/\\\#/g' | sed 's/\_/\\\/g' | sed 's/\=/\\\=/g' | sed 's/\./\\\./g'`
FIND=$NEW_FIND
NEW_REPLACE=`echo "$REPLACE" | sed 's/\#/\\\#/g' | sed 's/\_/\\\_/g' | sed 's/\=/\\\=/g' | sed 's/\./\\\./g'`
FIND=$NEW_REPLACE
echo "sed -e 's/^$FIND/$REPLACE/g' $CONFIG_FILE"
mv $CONFIG_FILE $CONFIG_FILE.old
sed -e 's/^$FIND/$REPLACE/g' $CONFIG_FILE.old > $CONFIG_FILE
echo "Changes are done"
###########
Here my pb is, I am not getting any error but it is not doing any changes with sed command....
But if I give the sed command directly in the shell that works perfectly
like :
sed -e 's/^\#\#NIS\_FTP\_SERVER1\=123\.456\.iom\.com/##NIS_FTP_SERVER1=123.456.iom.com/g' iom_test.txt
Can anyone pls help me out??
Thanks in advance