Visit Our UNIX and Linux User Community


Search and replace in text file

 
Thread Tools Search this Thread
Homework and Emergencies Emergency UNIX and Linux Support Search and replace in text file
# 1  
Old 05-17-2011
Error Search and replace in text file

Hi,

I have gigabytes of text files that I need to search for "&" and replace with "&amp". Is there a way to do this efficiently (like sed command)?

Hope you could help.

Thanks.
# 2  
Old 05-17-2011
give a try to
Code:
sed 's/&/&amp/g' infile

or
Code:
sed 's/[&]/&amp/g' infile


Last edited by ctsgnb; 05-18-2011 at 01:43 PM..
# 3  
Old 05-17-2011
Are there any other uses of the & in the file? If so, we'll need something a bit more elaborate. Also, you probably need:
Code:
sed 's/&/&/g' infile >outfile


Last edited by otheus; 05-17-2011 at 10:29 AM.. Reason: recolorize
# 4  
Old 05-17-2011
Quote:
Code:
sed 's/&/&/g' infile >outfile

Ahem, ....

The "&" is a special character in sed regexps and means "the matched part completely here". For instance:

Code:
echo "huhu" | sed 's/hu/+&-/g'   # will result in "+hu-+hu-"

You will have to escape the "&":

Code:
sed 's/\&/\&/g' infile >outfile

I hope this helps.

bakunin
# 5  
Old 05-17-2011
@bakunin

Yes, but if not escaped, it refers to the literal '&' previously matched so in fact it gives the same result Smilie

... but ok, i guess you pointed it out for education purpose...
This User Gave Thanks to ctsgnb For This Post:
# 6  
Old 05-18-2011
Quote:
Originally Posted by bakunin
Code:
sed 's/\&/\&/g' infile >outfile

& is only special in the replacement text. It is an ordinary character in the regular expression. In the regular expression, the sequence \& yields undefined behavior. It will probably work as intended with most implementations, but it's not required to.

Regards,
Alister
# 7  
Old 05-19-2011
I do.

Code:
vi ./file

:/%s/&/&amp/g

:wq!


Previous Thread | Next Thread
Test Your Knowledge in Computers #512
Difficulty: Medium
PHP requires that all variables begin with a dollar sign, for example $flag.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Search field in text file and replace value

Hi there, First of all this is my first post here. Thank you in advance for your help. What I am trying to do is the following. I have a text file where each field of each row is separated by a tabulator. Looks like this: ATOM 1 N HSE A 26 3.033 -10.429 -2.262 1.00 17.07 ... (8 Replies)
Discussion started by: doom4
8 Replies

2. Shell Programming and Scripting

Search and replace from file in awk using a 16 bit text file

Hello, Some time ago a helpful awk file was provided on the forum which I give below: NR==FNR{A=$0;next}{for(j in A){split(A,P,"=");for(i=1;i<=NF;i++){if($i==P){$i=P}}}}1 While it works beautifully on English and Latin characters i.e. within the ASCII range of 127, the moment a character beyond... (6 Replies)
Discussion started by: gimley
6 Replies

3. Shell Programming and Scripting

gawk script to search and replace text in a flat file

Hi I am new to unix and newbie to this forum. I need help in writing a gawk script that search and replace particular text in a flat file. Input file text : ZIDE_CONTROL000 100000000003869920900000300000001ISYNC 000002225489 0000000002232122 20120321 16:40:53 ZIDE_RECORD000... (5 Replies)
Discussion started by: gkausmel
5 Replies

4. Shell Programming and Scripting

Search replace strings between single quotes in a text file

Hi There... I need to serach and replace a strings in a text file. My file has; books.amazon='Let me read' and the output needed is books.amazon=NONFOUND pls if anybody know this can be done in script sed or awk.. i have a list of different strings to be repced by NONFOUND.... (7 Replies)
Discussion started by: Hiano
7 Replies

5. Shell Programming and Scripting

text file search and replace with awk

hello all greeting for the day i have a text file as the following text.xml abcd<FIELD>123.456</FIELD>efgh i need to replace the value between <FIELD> and </FIELD> by using awk command. please throw some light on this. thank you very very much Erik (5 Replies)
Discussion started by: erikshek
5 Replies

6. Shell Programming and Scripting

search and replace a text in a file

Hi all, I have a requirement where i have to search data between strings 'SELECT' and ';' and replace this text as "SELECT.....;" so that i can export this extracted string into a excel cell. Please suggest on this. (5 Replies)
Discussion started by: goutam_igate
5 Replies

7. UNIX for Dummies Questions & Answers

how can search a String in one text file and replace the whole line in another file

i am very new to UNIX plz help me in this scenario i have two text files as below file1.txt name=Rajakumar. Discipline=Electronics and communication. Designation=software Engineer. file2.txt name=Kannan. Discipline=Mechanical. Designation=CADD Design Engineer. ... (6 Replies)
Discussion started by: kkraja
6 Replies

8. UNIX for Dummies Questions & Answers

search and replace a specific text in text file?

I have a text file with following content (3 lines) filename : output.txt first line:12/12/2008 second line:12/12/2008 third line:Y I would like to know how we can replace 'Y' with 'N' in the 3rd line keeping 1st and 2nd lines same as what it was before. I tried using cat output.txt... (4 Replies)
Discussion started by: santosham
4 Replies

9. Shell Programming and Scripting

How to search and replace text in same file

script is as below v_process_run=5 typeset -i p_cnt=0 pdata=/home/proc_data.log while do # execute script in background dummy_test.sh "a1" "a2" & p_cnt=$p_cnt+1 echo "data : $p_cnt : Y" >> $pdata done file created with following data in... (1 Reply)
Discussion started by: Vrgurav
1 Replies

10. Shell Programming and Scripting

automating file search and replace text

Hi, I am trying something like this: Let's say I have a file called File1 with contents: x=-0.3 y=2.1 z=9.0 I have another file, File2, with contents: xx= yy= zz= (nothing after "="). What I want to do is get the value of x in File1 and set it to xx in File2, i.e., xx=-0.3. And the... (3 Replies)
Discussion started by: ommatidia
3 Replies