Looking for a good way to search & destroy lines


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Looking for a good way to search & destroy lines
# 1  
Old 07-29-2002
Looking for a good way to search & destroy lines

What is a good way to find an entry in a .conf file and then remove all lines associated with that entry?

I have a Samba server running on Linux that I would like to easily add/remove share entries in the smb.conf file without removing or deleting lines that are not associated with that section.

So a typical file would look like this.

[xxxuser]
comment = xxxuser Testing
path = /samba/xxxuser
Read Only = NO

[drew]
path = /tmp

[testgroup]
path = /samba/testgroup
read only = No


So if I wanted to remove [drew] share I guess I would just need to remove all lines including [drew] between the ending ] and the beginning [ ?

Any script ideas?

Thanks,
# 2  
Old 07-29-2002
You didn't say how much you need a script. Will it be run automatically? Otherwise, SWAT can delete a whole share at once.
Marc Rochkind
# 3  
Old 07-30-2002
SWAT is good for small changes

We use SWAT for small changes, but when we have several users or groups that we need to be able to delete multiple entries all at once whether it be 5 or 500. I figured that if I could find a way to remove single entries between the brackets I would be able to resolve the other issues.
# 4  
Old 07-30-2002
sed '
:loop
$!{
/^[[]somename/{
/^[[].*[[]/!{N;}
/\\$/t loop
s/^.*\n//
}' /path/somefile


i.e.
1) find the line beginning with "[username"
2) grab each line below this until you have the next "[..." (i.e. "[username.*\n[.*" )
3) delete the characters up to (and including) the last newline (i.e. the last "/n")
# 5  
Old 07-30-2002
Now, How can I run this within an existing script?
# 6  
Old 07-30-2002
Just add these two commands into the script ... modifying it to your specs, and debugging my mistakes - it looks right to me, but I haven't time to test it for you Smilie

-----

cp /path/somefile /path/somefile.tmp

sed -n '
:loop
$!{
/^[[]somename/{
/^[[].*[[]/!{N;}
/\\$/t loop
s/^.*\n//
}
p' /path/somefile.tmp > /path/somefile
 
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

How to search & delete inclusively between two lines?

Hi all, I was wondering if anyone would know how to search & delete inclusively between two lines, please: Important: There are multiple }; lines. I'm curious how to delete the correct one only. Line numbers may vary each time this script is run. For example, I'd like to delete only the... (6 Replies)
Discussion started by: chatguy
6 Replies

2. Shell Programming and Scripting

Search pattern on logfile and search for day/dates and skip duplicate lines if any

Hi, I've written a script to search for an Oracle ORA- error on a log file, print that line and the .trc file associated with it as well as the dateline of when I assumed the error occured. In most it is the first dateline previous to the error. Unfortunately, this is not a fool proof script.... (2 Replies)
Discussion started by: newbie_01
2 Replies

3. Shell Programming and Scripting

Search and Destroy Script Direction Help

Being a beginner in scripting I am not sure the direction to take to accomplish the below task and would love suggestions. GOAL input file: domains.list Read input file, search in named.conf and find domain and delete entry for the purpose of cleanup activity. named.conf entry example zone... (8 Replies)
Discussion started by: djzah
8 Replies

4. Shell Programming and Scripting

search and replace, when found, delete multiple lines, add new set of lines?

hey guys, I tried searching but most 'search and replace' questions are related to one liners. Say I have a file to be replaced that has the following: $ cat testing.txt TESTING AAA BBB CCC DDD EEE FFF GGG HHH ENDTESTING This is the input file: (3 Replies)
Discussion started by: DeuceLee
3 Replies

5. UNIX for Dummies Questions & Answers

How get only required lines & delete the rest of the lines in file

Hiiii I have a file which contains huge data as a.dat: PDE 1990 1 9 18 51 28.90 24.7500 95.2800 118.0 6.1 0.0 BURMA event name: 010990D time shift: 7.3000 half duration: 5.0000 latitude: 24.4200 longitude: 94.9500 depth: 129.6000 Mrr: ... (7 Replies)
Discussion started by: reva
7 Replies

6. Shell Programming and Scripting

How to recursively search and destroy tabs

Inspite of my best efforts, eclipse 3.5 seems to continue to misbehave and insert tab characters in my source code. How do I write a script execute from emacs to search all my files for tab characters and conveniently position me on the line of code that has the offending tab? Here are my... (7 Replies)
Discussion started by: siegfried
7 Replies

7. UNIX for Dummies Questions & Answers

Search for & edit rows & columns in data file and pipe

Dear unix gurus, I have a data file with header information about a subject and also 3 columns of n rows of data on various items he owns. The data file looks something like this: adam peter blah blah blah blah blah blah car 01 30 200 02 31 400 03 57 121 .. .. .. .. .. .. n y... (8 Replies)
Discussion started by: tintin72
8 Replies

8. Shell Programming and Scripting

How do I search first&second string & copy all content between them to other file?

Hi All, How do I search first string & second string and copy all content between them from one file to another file? Please help me.. Thanks In Advance. Regards, Pankaj (12 Replies)
Discussion started by: pankajp
12 Replies

9. Post Here to Contact Site Administrators and Moderators

Good Suggestions & Cool Scripts

I think you guys should gather up all of the cool, *handy* scripts that you post on this site along with other scripts members post and place them in their own category. Perderabo's date_calc script would be an excellent submission as would the mail script that someone posted that sends... (4 Replies)
Discussion started by: google
4 Replies
Login or Register to Ask a Question