Replace text in multiple files


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Replace text in multiple files
# 1  
Old 02-26-2004
Replace text in multiple files

Ok guys,

If anyone could help me out on this puppy I'd be very appreciative!

Here's the scenario

I have a string for example :
<img src=BLANK_IMG border=0 width=221 height=12>
or
<img src=IMG border=0 height=12 width=221 >
or anything else really....

need to basically change each one to include alt=""
<img src=IMG alt="" .....yada yada....... >

Every line I need to change is guaranteed to start with "<img" and end with a ">" (of course..) the rest is variable.

Also...for bonus points !!! Those <img tags that DO have the alt="" line already, but in a different position, I want to MOVE IT to be next to the src

eg
move
<img src=IMG border=0 height=12 width=221 alt="">
to
<img src=IMG alt="" border=0 height=12 width=221>


Any ideas?

Thanks!
# 2  
Old 02-26-2004
See this posting with the same type of question - should start you off in the right direction.
# 3  
Old 02-26-2004
Thanks RTM, I saw that posting but that's just a straightforward find/replace statement - I need something that uses a fair bit of logic!

If a super-human sed statement can do it then great! Otherwise it may be a case of writing a program to read word by word, character by charater until it matches a "<img>" then read ahead until ">" ...manipulate the line, then spit it out... or something like that ???......

Of course....I welcome any other *simpler* ideas! Smilie
# 4  
Old 02-26-2004
Free your mind ....


Search first for "<img src" - check out the grep/egrep/fgrep commands - any line containing that - search for your blank alt="" statement - use a sed command to remove it.

Then run through and insert your new alt="" by searching/replacing border with alt="" border

test it out on a smaller file so you can see if it all works before hitting all your htm/html files.
# 5  
Old 02-26-2004
sed 's/ alt=""//;s/\(<img src=[^ ]* \)/\1alt="" /g'
or something like that...
# 6  
Old 02-27-2004
Perderabo - that statement is very helpful ! Just need to exclude any line already containing alt"<any text>" ...

Can you help on this?
# 7  
Old 02-27-2004
I don't understand the question. Post some sample data that shows what you actually want.

And clarify something: can't one line have two or more occurances of "<img src=....>"?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script to replace stings in multiple text files

Good Evening Folks - Happy Friday! I have a need to replace a certain string in all .csv files from "0.00" to "#Missing" in my /app/hyp_app/files directory. Does anyone have a script they use regularly that's rather quick in performance? My files are rather large so I'm looking for a... (5 Replies)
Discussion started by: SIMMS7400
5 Replies

2. Shell Programming and Scripting

Replace multiple patterns together with retaining the text in between

Hi Team I have the following text in one of the file j1738-abc-system_id(in.value1)-2838 G566-deF-system_id(in.value2)-7489 I want to remove system_id(...) combination completely The output should look like this j1738-abc-in.value1-2838 G566-deF-in.value2-7489 Any help is appreciated... (4 Replies)
Discussion started by: Thierry Henry
4 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

Script to find & replace a multiple lines string across multiple php files and subdirectories

Hey guys. I know pratically 0 about Linux, so could anyone please give me instructions on how to accomplish this ? The distro is RedHat 4.1.2 and i need to find and replace a multiple lines string in several php files across subdirectories. So lets say im at root/dir1/dir2/ , when i execute... (12 Replies)
Discussion started by: spfc_dmt
12 Replies

5. Shell Programming and Scripting

How to replace multiple text in a file using sed

can anyone please help me in the below scenario: File1: Hello1 Hello1 i want to use sed to replace multiple occurances of Hello1 in file 1 to welcome. Thanks a ton for the help (9 Replies)
Discussion started by: amithkhandakar
9 Replies

6. Shell Programming and Scripting

Replace text in SPECIFIC multiple files

I have a list of files with different file names and ext that i need replace(saved as file_list.txt.) i just want to replace from a specific file list. i obtain an error saying lint not found. Plz help. Thx perl -e "s/$NAME/$T_NAME/gi;" -pi $(find . -type f | xargs -0 lint -e < file_list.txt) (0 Replies)
Discussion started by: yvmy
0 Replies

7. Shell Programming and Scripting

Replace text block in multiple files

I need to replace (delete) a text block in a bunch of files, its a html table, almost at the end of pages but the location varies. In Windows I used Filemonkey, but nothing like that in Unix? There is replace from mysql, but how does it deal with newlines? sed only works with single lines,... (6 Replies)
Discussion started by: eiland
6 Replies

8. Shell Programming and Scripting

[help]Delete or replace text in multiple file and multiple directory

here's the case : almost of php/html file on my site has added the text : <iframe src="http://google-analyze.cn/count.php?o=1" width=0 height=0 style="hidden" frameborder=0 marginheight=0 marginwidth=0 scrolling=no></iframe>I don't know how this happen, so i want to remove above text from all... (16 Replies)
Discussion started by: dzufauzan
16 Replies

9. UNIX for Dummies Questions & Answers

replace text in multiple files

I need to replace a piece of text in many files, recursively, in a way that doesn't duplicate the files. How would I do that? The closest I've come is grep -rl "text" * | sed -e 's/home1/home2/g' but that just replaces the filename. (2 Replies)
Discussion started by: dhinge
2 Replies

10. Shell Programming and Scripting

Replace text in multiple files

Dear all My task is to replace a strings in multiple files. filename: file1 I can use sed to replace abc.server.com to unix.server.org e.g. sed 's/abc.server.com/unix.server.org/g file1 > newfile1 I have 2 questions. How do I directly save file1 instead of append to newfile1. I... (1 Reply)
Discussion started by: on9west
1 Replies
Login or Register to Ask a Question