Search and Replace in multiple files


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Search and Replace in multiple files
# 1  
Old 07-05-2013
Search and Replace in multiple files

Hello,

I have hundreds of files in which I need to change email address. Here is what I am trying to do:

1. All text files are in a directory "a"
2. In the text file, I want to replace email address for preparer. All these lines start with {{PreparerEmail and end with }}. The email addresses on these files are different.

for e.g.
Code:
Line in file1 is
{{PreparerEmail abc@abc.com}}
Line in file2 is
{{PreparerEmail bcd@xyz.com}}
Line in file 3 is
{{PreparerEmail pqr@yyy.com}}

3. I want to replace these emails in all the files within a directory with a common email address for e.g aaa@bbb.com
The expected end result for the sample lines provided earlier would be
Code:
Line in file1 is
{{PreparerEmail aaa@bbb.com}}
Line in file2 is
{{PreparerEmail aaa@bbb.com}}
Line in file 3 is
{{PreparerEmail aaa@bbb.com}}

Any assistance is greatly appreciated.

Moderator's Comments:
Mod Comment Use code tags, see PM.

Last edited by zaxxon; 07-05-2013 at 10:30 AM.. Reason: code tags
# 2  
Old 07-05-2013
Depending on your version of Unix, try this:

Code:
find . -name "file*.txt" -exec sed -i 's/^{{PreparerEmail.*}}$/{{PreparerEmail aaa@bbb.com}}/g' "{}" \;

Code:
cat file1.txt
{{PreparerEmail aaa@bbb.com}}

cat file2.txt
{{PreparerEmail aaa@bbb.com}}

cat file3.txt
{{PreparerEmail aaa@bbb.com}}

# 3  
Old 07-05-2013
mfj.

I just tried your command, but got the following message:

sed: illegal option -- i


same message repeated - one for each file.

Also, if there were multiple occurrences of this line {{PreparerEmail
would the command replace email addresses for all occurrences?
# 4  
Old 07-05-2013
Your system is not supporting -i option in sed .. Try with the below then

Code:
for i in *.txt ; do printf ",s/^{{PreparerEmail.*}}$/{{PreparerEmail aaa@bbb.com}}\nw\nq\n" | ed $i ; done

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Search/Replace in multiple files recursively

Hi there, I am using AIX and trying to search and replace a string with another string in multiple files in different directories. I wanted to search replace in steps so I don't change all of the instance anywhere in the server at once, minimizing impact. STEP 1: -------- I first searched... (5 Replies)
Discussion started by: zaino22
5 Replies

2. Shell Programming and Scripting

Search & Replace in Multiple Files by reading a input file

I have a environment property file which contains: Input file: value1 = url1 value2 = url2 value3 = url3 and so on. I need to search all *.xml files under directory for value1 and replace it with url1. Same thing I have to do for all values mentioned in input file. I need script in unix bash... (7 Replies)
Discussion started by: Shamkamde
7 Replies

3. Shell Programming and Scripting

Search & Replace: Multiple Strings / Multiple Files

I have a list of files all over a file system e.g. /home/1/foo/bar.x /www/sites/moose/foo.txtI'm looking for strings in these files and want to replace each occurrence with a replacement string, e.g. if I find: '#@!^\&@ in any of the files I want to replace it with: 655#@11, etc. There... (2 Replies)
Discussion started by: spacegoose
2 Replies

4. Shell Programming and Scripting

perl: search replace in multiple files

When I use special characters the command to replace multiple files with a string pattern does nt work. ---------- Post updated at 12:33 PM ---------- Previous update was at 11:38 AM ---------- This works perl -pi -e 's/100/test/g' * This does nt work perl -pi -e 's... (1 Reply)
Discussion started by: w020637
1 Replies

5. Shell Programming and Scripting

String search and replace in multiple files.

Hello. I have five config files in /etc that I want to edit in one click for testing. I would like to make a script like this : #!/bin/bash # a_file="/etc/file_1" src_str="src_string_1" rpl_str="rpl_string_1" calling_sed_or_awk_or_whatelse $a_file search_for_all $src_str replace_with... (4 Replies)
Discussion started by: jcdole
4 Replies

6. Shell Programming and Scripting

Global search and replace across multiple files

Hi all I'm in need of a command which can replace a specified string with another string - across multiple files within multiple sub-directories (I intend to run it from / ) I've used the following to get a list of the files: find . | xargs grep <string1> But that's as far as I've got.... (7 Replies)
Discussion started by: huskie69
7 Replies

7. Shell Programming and Scripting

Search & Replace in Multiple Files by reading a input file

Hi, I have a folder which contains multiple config.xml files and one input file, Please see the below format. Config Files format looks like :- Code: <application name="SAMPLE-ARCHIVE"> <NVPairs name="Global Variables"> <NameValuePair> ... (0 Replies)
Discussion started by: haiksuresh
0 Replies

8. Shell Programming and Scripting

Complex Search/Replace Multiple Files Script Needed

I have a rather complicated search and replace I need to do among several dozen files and over a hundred occurrences. My site is written in PHP and throughout the old code, you will find things like die("Operation Aborted due to....."); For my new design skins for the site, I need to get... (2 Replies)
Discussion started by: UCCCC
2 Replies

9. Shell Programming and Scripting

Need to search and replace in multiple files in directory hierarchy

Hello all I need to search and replace in multiple files that are in directory hierarchy Im using the : find . -name "*.dsp" -print | xargs grep -n -o Test.lib" , I like to be able to replace every instance of Test.lib with empty space . how can I write one liner that does this ? (3 Replies)
Discussion started by: umen
3 Replies

10. UNIX for Dummies Questions & Answers

Multiple search and replace

Hi, I have different files and I want to automatically change the values of the defined variables. i want to get rid of editing all the files and make it a little bit faster. my problem is like this. 1. i will input all the new values. 2. substitute this values into the values inside the... (1 Reply)
Discussion started by: tungaw2004
1 Replies
Login or Register to Ask a Question