Insert Text on lines having the string word


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Insert Text on lines having the string word
# 1  
Old 10-29-2010
Insert Text on lines having the string word

I need help on how I can accomplish my task. I hope someone can help me since I've researching and trying to accomplish this for hours now. Basically, I need to comment-out (or insert a # sign in the beginning of the line) a line when the line has the specific word I am searching. Example I have this line:

Quote:
PM1SYSGFATRAGATEGFAGESDAFSOCAAGAAAGAG
ATAGATESETSOACGATATEGGPQMALDFJANMAGAG
LHAGNAGMLONAGLONLAGLQEEDAFGSTGXCGAGTA
OLAGULNUAGHALUDLNQPSOACNAGONLAONGAAGA
On line 2 & 4, the word SOAC (this is what I am searching for) appears, now I need the whole line be commented out just like below:

Quote:
PM1SYSGFATRAGATEGFAGESDAFSOCAAGAAAGAG
#ATAGATESETSOACGATATEGGPQMALDFJANMAGAG
LHAGNAGMLONAGLONLAGLQEEDAFGSTGXCGAGTA
#OLAGULNUAGHALUDLNQPSOACNAGONLAONGAAGA
then, I also need another code to reverse the effect, that is if the line has the word SOAC, it will remove the # sign at the beginning of the line. Thanks in advance for those who can help me!
# 2  
Old 10-29-2010
To replace...
Code:
sed -i '/SOAC/s/^/#/' file1

To reverse...
Code:
sed -i '/SOAC/s/^#//' file1

Assuming you have GNU sed with -i option to modify the file in place.
# 3  
Old 10-29-2010
To replace the first time
Code:
perl -i -pe 's/^([^\#].*?SOAC)/#$1/' file

Reverse Process
Code:
perl -i -pe 's/^\#(.*?SOAC)/$1/' file

# 4  
Old 10-30-2010
Code:
awk '/SOAC/ {$0="#"$0}1' infile

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Insert Text after one, two, three lines & so on..

I want to insert "Text" in each file as a place where I mentioned below "Insert Text Here". These files are something like news of newspaper. Generally, newspaper headlines contain one or two lines. I don't know how it can be identified whether Text is inserted after first line or second line. ... (10 Replies)
Discussion started by: imranrasheedamu
10 Replies

2. Shell Programming and Scripting

Using sed to insert text between lines

Hello, I am trying to insert a section of text between lines in another text file. The new lines to be inserted are: abcd.efgh.zzzz=blah abcd.efgh.xxxx=blah Where N = 0 to 2 Original File: abcd.efgh.wwxx=aaaaa abcd.efgh.yyzz=bbbbb abcd.efgh.wwxx=aaaaa abcd.efgh.yyzz=bbbbb... (3 Replies)
Discussion started by: tsu3000
3 Replies

3. UNIX for Dummies Questions & Answers

Insert folder name in text string

Hi, I am trying to organize a badly constructed web server. Basically every file is in public_html which is horrendous. There's about 50 images and 20 html files (not counting the css files and pdf docs). I am trying to update each .html file using sed based on: Where string contains *.jpg... (9 Replies)
Discussion started by: enginama
9 Replies

4. Shell Programming and Scripting

Insert String every n lines, resetting line counter at desired string

I need to read a text file and insert a string every n lines, but also have the line counter restart when I come across a header string. Line repeating working every 3 lines using code: sed '0~3 s/$/\nINSERT/g' < INPUT/PATH/FILE_NAME.txt > OUTPUT/PATH/FILE_NAME.txt I cannot seem to find... (1 Reply)
Discussion started by: Skonectthedots
1 Replies

5. Shell Programming and Scripting

How to insert a word into a text file?

Hi, I have a text file with one line having few words separated by space and I need to insert another word on "n"th column/field so that previous word should shift right (to n+1st column). how can I do that? It seems we can do using awk but unable to figure out. Please advise, thanks! ... (11 Replies)
Discussion started by: magnus29
11 Replies

6. Shell Programming and Scripting

Insert text before first 'n' lines

I want to put a particular text, say, the hash '#' before each of the first n lines of a file. How can I do that? (4 Replies)
Discussion started by: hbar
4 Replies

7. Shell Programming and Scripting

Insert a string instead of blank lines

how can i insert a string sush as "###" instead of blank lines in a file? i try this code but it doesn't work! awk 'NF<1 {$1=="###" ; print$0}' in_file > out_file (13 Replies)
Discussion started by: oreka18
13 Replies

8. Shell Programming and Scripting

sed insert text 2 lines above pattern

Hi I am trying to insert a block of text 2 lines above a pattern match using sed eg #Start of file entry { } #End of file entry new bit of text has to be put in just above the } eg #Start of file entry { New bit of text } #End of file entry (7 Replies)
Discussion started by: eeisken
7 Replies

9. Shell Programming and Scripting

Insert string in alternate lines

Hi All, In continuation of my previous thread 'Add text at the end of line conditionally', I need to further modfiy the file after adding text at the end of the line. Now, I need to add a fixed charater string at alternate lines starting from first line using awk or sed.My file is now as below:... (10 Replies)
Discussion started by: angshuman
10 Replies

10. Shell Programming and Scripting

Insert tags in lines after searching for a word

Hi, I am new to Unix and this is my first post on this forum. I am trying to convert a file into an xml. In my input I want to search for any line that starts with a 'F' and make it a tag in the xml. See below for the input and output. Input : <Payment> <REFERENCE>78</REFERENCE> F123 : ... (7 Replies)
Discussion started by: akashgov
7 Replies
Login or Register to Ask a Question