Visit The New, Modern Unix Linux Community


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  
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  
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  
To replace the first time
Code:
perl -i -pe 's/^([^\#].*?SOAC)/#$1/' file

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

# 4  
Code:
awk '/SOAC/ {$0="#"$0}1' infile

 

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #997
Difficulty: Medium
The use of hypervisor technology by malware and rootkits installing themselves as a hypervisor below the operating system is known as hyperjacking.
True or False?

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

Featured Tech Videos