i think i need to provide something that written inside a loop to replace the lines of the zone with space like
s///;

That statement doesn't do anything other than substituting nothing with nothing, which isn't anything you could call something.

Sample named.conf:

options { listen-on port 53 { 127.0.0.1; }; // listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { localhost; }; forwarders { 2.3.4.5; }; recursion yes; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; zone "foo.bar.de" { type master; file "foo-bar"; allow-transfer { 1.2.3.4; 1.2.3.5; }; }; zone "quux.info" { type forward; forwarders { 3.4.5.6; 4.5.6.7; }; }; zone "blah-fasel.de" { type forward; forwarders { 5.6.7.8; }; }; zone "10.in-addr.arpa" { type forward; forwarders { 1.2.3.4; 2.3.4.5; 3.4.5.6; }; }; include "/etc/named.rfc1912.zones";

The following script is used to delete a zone:

#!/usr/bin/perl -w use strict; print "please enter the domain name: "; chomp (my $targetdomain = <STDIN>); my $file = "named.conf"; # copied to my home folder rename $file, "$file.bak" or die "Can't rename file '$file': $!\n"; open my $in, '<', "$file.bak" or die "Can't read file '$file': $!\n"; open my $out, '>', $file or die "Can't write file '$file': $!\n"; my $comment = 0; my $block = 0; while(<$in>) { if (/^zone\s+"$targetdomain"/) { $comment++; $block += () = /(\{)/g; # print $out '// '.$_; next; } if($comment) { $block += () = /(\{)/g; s!^!// ! if $comment or $block; $block -= () = /(\})/g; unless ($block) { $comment = 0; next; } } print $out $_ unless $comment; }

We delete the zone "quux.info" using that script, named 'zonedel.pl':

qwurx [shmem] ~ > perl zonedel.pl please enter the domain name: quux.info

The zone file (named.conf) is now:

options { listen-on port 53 { 127.0.0.1; }; // listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { localhost; }; forwarders { 2.3.4.5; }; recursion yes; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; zone "foo.bar.de" { type master; file "foo-bar"; allow-transfer { 1.2.3.4; 1.2.3.5; }; }; zone "blah-fasel.de" { type forward; forwarders { 5.6.7.8; }; }; zone "10.in-addr.arpa" { type forward; forwarders { 1.2.3.4; 2.3.4.5; 3.4.5.6; }; }; include "/etc/named.rfc1912.zones";

Running 'diff -uNw named.conf named.conf.bak' shows:

--- named.conf 2007-11-11 00:25:18.000000000 +0100 +++ named.conf.bak 2007-11-11 00:18:17.000000000 +0100 @@ -46,6 +46,13 @@ 1.2.3.5; }; }; +zone "quux.info" { + type forward; + forwarders { + 3.4.5.6; + 4.5.6.7; + }; +}; zone "blah-fasel.de" { type forward; forwarders {

Please let me know if that solution doesn't work for you. In that case, please provide a full set of files as I have done.

--shmem

_($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                              /\_¯/(q    /
----------------------------  \__(m.====·.(_("always off the crowd"))."·
");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}

In reply to Re^7: Deleting lines from named.conf file by shmem
in thread Deleting lines from named.conf file by firewall00

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.