Visit Our UNIX and Linux User Community


Replacing string in multiple files


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Replacing string in multiple files
# 1  
Old 09-10-2009
Replacing string in multiple files

Hi,

I need to replace the string 'abcd' with 'xyz' in a file sample.xml
This sample.xml is also present in the subdirectories of the current directory.

Eg,

If I am in /user/home/

the sample.xml if present in
/user/home/
/user/home/folder1/
/user/home/folder2/
/user/home/folder2/subfolder1/

I tried using
sed "s/abcd/xyz/g" sample.xml > temp; mv temp sample.xml;

But this replaces only the sample.xml in /user/home/ directory.

Please help on this
# 2  
Old 09-10-2009
Please test and try this....


Code:
 
for i in `find /user/home/ -type f`
do
sed "s/abcd/xyz/g" $i > temp; mv temp $i;
done

# 3  
Old 09-11-2009
Hi,

I modified little bit and this worked.
Code:
for y in `find . -name sample.xml`;
do 
sed 's/abcd/xyz/g' $y > temp; mv temp $y;
done

Thanks for your help
# 4  
Old 09-11-2009
Another variation

Code:
find ~ -name "sample.xml" -exec sed -i 's/abcd/xyz/' {} \;

Warning: But be very careful while running all these, as it will recursively edit all the sample.xml file in your home directory.

Previous Thread | Next Thread
Test Your Knowledge in Computers #780
Difficulty: Easy
Bill Gates was born in Seattle, Washington, on October 28, 1945.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Issue with search and replacing multiple items in multiple files

Im having an issue when trying to replace the first column with a new set of values in multiple files. The results from the following code only replaces the files with the last set of values in val.txt. I want to replace all the files with all the values. for date in {1..31} do for val in... (1 Reply)
Discussion started by: ncwxpanther
1 Replies

2. Shell Programming and Scripting

sed parser behaving strange on replacing multiple words in multiple files

I have 4000 files like $cat clus_grp_seq10_g.phy 18 1002 anig_OJJ65951_1 ATGGTTTCGCAGCGTGATAGAGAATTGTTTAGGGATGATATTCGCTCGCGAGGAACGAAGCTCAATGCTGCCGAGCGCGAGAGTCTGCTAAGGCCATATCTGCCAGATCCGTCTGACCTTCCACGCAGGCCACTTCAGCGGCGCAAGAAGGTTCCTCG aver_OOF92921_1 ... (1 Reply)
Discussion started by: sammy777888
1 Replies

3. Shell Programming and Scripting

Replacing old TNS entries with New one in multiple files

I have requirement to replace old TNS entries with New one in multiple files. one file may contain more then one occurrence of tns. Example: Below is the one of occurrence in a current file(s). i am interested to replace only red part. <connection-pool name="Google_APP_CP"... (4 Replies)
Discussion started by: KDDubai333
4 Replies

4. Solaris

Replacing a string in a long list of files

I have a script that needs to read a file with a long list of /path/filenames - replace the name of the server in each file - and write the file to the same path with a date extension. This is the script that I have so far #!/bin/ksh umask 022 LIST=`scripts.list` for i in $LIST do ... (2 Replies)
Discussion started by: bjdamon
2 Replies

5. UNIX for Dummies Questions & Answers

best method of replacing multiple strings in multiple files - sed or awk? most simple preferred :)

Hi guys, say I have a few files in a directory (58 text files or somthing) each one contains mulitple strings that I wish to replace with other strings so in these 58 files I'm looking for say the following strings: JAM (replace with BUTTER) BREAD (replace with CRACKER) SCOOP (replace... (19 Replies)
Discussion started by: rich@ardz
19 Replies

6. Shell Programming and Scripting

Replacing text from multiple files at multiple location

Hi, I have many files scattered in all different folders. I want to replace the text within all the files using a single command ( awk, sed...) Is it possible? example find all the files in which there is text "memory" and replace it with "branded_memories". the files can be at the... (2 Replies)
Discussion started by: rudoraj
2 Replies

7. Shell Programming and Scripting

replacing a string in multiple subdirs to a new string??

I have following set of dirs: /dir1/dir2/subdir1 file1 file2 /dir1/dir3/subdir1 file4 file5 /dir1/dir4/subdir1 file6 file7 All of these files have a common string in them say "STRING1", How can I... (3 Replies)
Discussion started by: Hangman2
3 Replies

8. Shell Programming and Scripting

renaming multiple files while replacing string

hi, i've found a few examples of scripts to do this but for some reason can't get them to work properly. basically i have some dirs with a few hundred files mixed in with a bunch of other files that were made with a typo in part of them. long-file-names-tyo-example.ext want to be able... (2 Replies)
Discussion started by: kevin9
2 Replies

9. Shell Programming and Scripting

Replacing string in files

Hi, I Have 10 files ,I need replace $INPUT_LOCATION with $INPUT_LOCATION_upd .using sed command do it single file .How can change all files in single shot instead of doing individual file sed -s'/old/new/g' file1 Thanks, Mohan (2 Replies)
Discussion started by: mohan705
2 Replies

10. Shell Programming and Scripting

replacing a string in all files in a dir

Hello guys, I need help in globally replacing a string 'string1' with 'string2' in several files in a directory. In fact, also in all directories under it. Can anyone help me... Thanks (3 Replies)
Discussion started by: chiru_h
3 Replies

Featured Tech Videos