Commenting a specific line and inserting a new line after commented line.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Commenting a specific line and inserting a new line after commented line.
# 15  
Old 12-20-2012
Well the ^ means beginning of the line, so you could try something like this:
Code:
sed "s/^ *restoredb2...

is there are no TABs
# 16  
Old 12-21-2012
Quote:
Originally Posted by Scrutinizer
Well the ^ means beginning of the line, so you could try something like this:
Code:
sed "s/^ *restoredb2...

is there are no TABs
Thank you very much for your help.
This worked fine for spaces.

I have not been in situation to deal with TAB but it's a good idea to put a logic for TAB as well.

I tried following option to deal with tab and space at same time but no luck:
Code:
sed "s/^ *\t*restoredb2=.*/#&\\
restoredb2=$restoredb2_value   # $comment/" restore_$(basename $PWD).sh

and

Code:
sed "s/^ *\\t*restoredb2=.*/#&\\
restoredb2=$restoredb2_value   # $comment/" restore_$(basename $PWD).sh


Still it is reading SPACE but not TAB.

It would be great if you can help me in this as well.
# 17  
Old 12-21-2012
Some sed's understand \t, so then you can use:
Code:
s/^[ \t]*restoredb....

otherwise instead of \t you could enter and actual TAB character, using Ctrl-V - TAB
But I would use this:
Code:
sed 's/^[[:space:]]*restoredb...

This User Gave Thanks to Scrutinizer For This Post:
# 18  
Old 12-21-2012
\t did not work with my sed.


Following options ran successfully:
Code:
sed "s/^[      ]*restoredb2=.*/#&\\	# [] consists of one SPACE & one TAB character.
restoredb2=$restoredb2_value   # $comment/" restore_$(basename $PWD).sh

Code:
sed "s/^[[:space:]]*restoredb2=.*/#&\\
restoredb2=$restoredb2_value   # $comment/" restore_$(basename $PWD).sh

It would be really thankful if you can share the significance of [[:space:]] character.
# 19  
Old 12-21-2012
Quote:
Originally Posted by manishdivs
... ... ...

It would be really thankful if you can share the significance of [[:space:]] character.
The character class space contains the following characters in the POSIX and C locales: <space>, <tab>, <form-feed>, <carriage-return>, <newline>, and <vertical-tab>. For what you are doing here, I would tend to use the character class blank which only contains the <space> and <tab> characters rather than the character class space:
Code:
sed "s/^[[:blank:]]*restoredb2=.*/#&\\
restoredb2=$restoredb2_value   # $comment/" restore_$(basename $PWD).sh

This User Gave Thanks to Don Cragun For This Post:
# 20  
Old 12-21-2012
With awk, taking space into account wouldn't be needed because awk does this implicitly with the default field separator:
Code:
awk '$1~/^line=/{$0="# "$0 RS s}1' s="$restoreufs    # This comment line" file


Last edited by Scrutinizer; 12-21-2012 at 08:40 PM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Get an output of lines in pattern 1st line then 10th line then 11th line then 20th line and so on.

Input file: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 (6 Replies)
Discussion started by: Sagar Singh
6 Replies

2. UNIX for Dummies Questions & Answers

Commenting a line matched with a specific string in a file

Hi, I would like to comment a line that matched a string "sreenivas" in a file without opening it. Thanks in advance. Regards, Sreenivas (3 Replies)
Discussion started by: raosr020
3 Replies

3. Shell Programming and Scripting

sed command to replace a line at a specific line number with some other line

my requirement is, consider a file output cat output blah sdjfhjkd jsdfhjksdh sdfs 23423 sdfsdf sdf"sdfsdf"sdfsdf"""""dsf hellow there this doesnt look good et cetc etc etcetera i want to replace a line of line number 4 ("this doesnt look good") with some other line ... (3 Replies)
Discussion started by: vivek d r
3 Replies

4. Shell Programming and Scripting

Using awk to read a specific line and a specific field on that line.

Say the input was as follows: Brat 20 x 1000 32rf Pour 15 p 1621 05pr Dart 10 z 1111 22xx My program prompts for an input, what I want is to use the input to locate a specific field. Like if I type in, "Pou" then it would return "Pour" and just "Pour" I currently have this line but it is... (6 Replies)
Discussion started by: Bungkai
6 Replies

5. Shell Programming and Scripting

Counting rows line by line from a specific column using Awk

Dear UNIX community, I would like to to count characters from a specific row and have them displayed line-by-line. I have a file called testAwk2.csv which contain the following data: rabbit penguin goat giraffe emu ostrich I would like to count in the middle row individually... (4 Replies)
Discussion started by: vnayak
4 Replies

6. Shell Programming and Scripting

script for inserting line at specific place in file

I use zentyal for my server admin, which is great but zentyal auto-generates config file on boot and hence overwrites any changes made directly to config files. In order to allow multiple user access to a MS ACCESS database, I need to customise the smb.conf file and add the following line to the... (9 Replies)
Discussion started by: barrydocks
9 Replies

7. Shell Programming and Scripting

Inserting a line in a file after every alternate line

Friends , I have a large file and i need to insert a line after every line.I am actually unaware how to do it.Any help appreciated. My File control station *ATM* , qread $OSS.Jul13A.FI01 interval 1 intcount 1 control station *ATM* , qread $OSS.Jul13A.FI02 interval 1 intcount... (4 Replies)
Discussion started by: appu2176
4 Replies

8. Shell Programming and Scripting

Problem inserting text into file after specific line

this is utterly embarassing :( after posting here i revisited my files and found that when i used "vi" instead of a gui based editor, i suddenly found that the indentations were in fact wrong :( sorry about this :( (0 Replies)
Discussion started by: mocca
0 Replies

9. UNIX for Advanced & Expert Users

Inserting a line before the line which matches the patter

Hi Is there any command where we can insert a line "2|||" before every line starting with "3|" my input is as follows 1|ETG|12345 3|79.58|||GBP|| 1|ETG|12345 3|79.58|||GBP|| 1|ETG|12345 2|EN_GB||Electrogalvanize 0.5 m2 ( Renault ) 1|ETG|12345 3|88.51|||GBP|| desired output... (10 Replies)
Discussion started by: laxmi131
10 Replies

10. Shell Programming and Scripting

inserting a line after a perticular line

Hi, Suppose I have a file which contains many lines, ---------------------- wake up study hard play a little getting hungry <---- insert a line after this line watch TV go shopping come back home getting hungry <--- insert a line after this line listen music surf internet go to... (2 Replies)
Discussion started by: uday610
2 Replies
Login or Register to Ask a Question