Issue with sed command


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Issue with sed command
# 1  
Old 04-24-2015
Hammer & Screwdriver Issue with sed command

Hi,

I have a script that replaces one string with the other in all files under the specified directory.

Code:
!/bin/bash
# **************** Change Variables Here ************
startdirectory="/opt/app/properties/tmp_new"
searchterm="Oracle/Middleware/"
replaceterm=""
# **********************************************************
echo "******************************************"
echo "* Search and Replace in Files Version .1 *"
echo "******************************************"
        for file in $(grep -l -R $searchterm $startdirectory)
          do
           sed -e "s/$searchterm/$replaceterm/ig" $file > /tmp/tempfile.tmp
           mv /tmp/tempfile.tmp $file
           echo "Modified: " $file
        done
echo " *** Yay! All Done! *** "

The problem arises when the
searchterm="Oracle/Middleware/"
&
replaceterm=""
which means i want to replace all "Oracle/Middleware/" with blank "" i.e delete "Oracle/Middleware/" string from each file.
Basically the script errors out becoz it is not able to understand interpret the '/' as part of the string.

What should I do ? Please suggest.

Last edited by mohtashims; 10-21-2015 at 04:00 PM..
# 2  
Old 04-24-2015
Hi,
You can try to change sed separator "/" by other character, as example:
Code:
sed -e "s#$searchterm#$replaceterm#ig" $file > /tmp/tempfile.tmp

Regards.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sed command issue in script

Hi, I am using sed command to extract data from my log file for a certain time interval. From and To "time" are my input arguments. Now if i use the sed command on command line. I get the desired results and If i use it in script.It fails. sed command as command line: sed -n '/04-Mar-2015... (6 Replies)
Discussion started by: oberoi1403
6 Replies

2. UNIX for Dummies Questions & Answers

Issue with sed command

Hi, I want to use a code like sed -n "1,9988p" filename | wc -l I tried from=1 till=9988 sed -n "/$from/,/$till/p" filename |wc -l Issue: sed -n "1,9988p" filename | wc -l -- Returns 9988 rows But sed -n "/$from/,/$till/p" filename |wc -l # Returns > 9988 rows(Complete file) I... (2 Replies)
Discussion started by: Gurkamal83
2 Replies

3. Shell Programming and Scripting

Issue with SED command

I have a file that contains lines like this: allgroups: cn=Role1,cn=groups,o=xyz,st=mn,c=us allgroups: cn=Role1,cn=groups,o=xyz,st=mn,c=us I want to remove the string : ,cn=groups,o=xyz,st=mn,c=us and so I tried to use SED. i tried to assign it to a variable and use it: ... (3 Replies)
Discussion started by: vskr72
3 Replies

4. Shell Programming and Scripting

Issue in using variable within sed command

Hi All, I am trying to use a variable within the sed command but I am not able to get the output. When I am using the following command (without variable) its working fine: sed -n '/2011\/12\/10 18:11:11./,$p' < Log.txt > Delta_Log.txt But when I am putting the value 2011\/12\/10... (4 Replies)
Discussion started by: acoomer
4 Replies

5. Shell Programming and Scripting

Sed command issue in linux

I ran one the script in debug mode in linux and have a problem ret='$prmAttunityUser=ais' Now i need to remove $ from this '$prmAttunityUser=ais' so i had added a sed command like this sed 's/$//g' but its not working could you all please help me with an alternate command I want the output... (3 Replies)
Discussion started by: vee_789
3 Replies

6. Shell Programming and Scripting

Issue with Sed command

I need to search for a keyword UTF-16 in a list of files if that keyword is found then i need to convert the file to UTF-8 format using iconv command. After this i should substitute the UTF-16 keyword inside the file to UTF-8. Please suggest how to do this in shell scripting. (11 Replies)
Discussion started by: Shruthi8818
11 Replies

7. UNIX for Dummies Questions & Answers

Sed Command Issue

Hello, I want to remove the / found when executing the date command. When I use: date +%D | sed 's/\///' I get: 1105/09 I tried: date +%D | sed 's/\*$///' I need to remove all / from the date command, but it does not seem to work (5 Replies)
Discussion started by: mojoman
5 Replies

8. Shell Programming and Scripting

sed command issue

Hi everybody, I have come across a typical problem: I need to use sed command to replace an apostrophe but it is saying no match found in the error sed -e 's/`/'/g' ...but it is not working. Can you please tell me how to use this apostrophe in this sed command please. Thanks. Rubin (8 Replies)
Discussion started by: RubinPat
8 Replies

9. UNIX Desktop Questions & Answers

Issue with sed command

Hi, I have to replace the character AL2 with AL16 which I have in one of my text file . I used the sed command like this sed 's/sed 's/AL2/AL16/g' test_carr.dat>test_carr1.dat But it is not replacing this value to the output file. The test_carr.dat file contains data like this cat... (1 Reply)
Discussion started by: kavithakuttyk
1 Replies

10. Shell Programming and Scripting

Issue with Sed Command

Hello , I am trying to replace a word :: complete to Failed . work: complete Sed command which i am using is given below :: sed s/work: complete/Failed/g temp1.txt > temp2.txt (Sed command is grabled if i use the above .. because of space which is there between work: and complete. I... (6 Replies)
Discussion started by: raghav1982
6 Replies
Login or Register to Ask a Question