How to get easily (from a script) all CNAME of a A record?

Stacey Jonathan Marshall stacey.marshall at
Tue Nov 9 15:52:32 UTC 2010

On 09/11/2010 14:14, Michelle Konzack wrote:
> Hello Matus UHLAR - fantomas,
> Am 2010-11-09 14:13:47, hacktest Du folgendes herunter:
>> I am not sure whether dnswalk over whole internet can do that, but on your
> I will try it...
>> server you can either run recursive grep over named data directory, or dump
>> the named dsatabase and grep it...
> This is what I currently do...
> ----[ '/usr/sbin/get_hosts_in cname' ]----------------------------------
> #!/bin/sh
> QUERY="$1"
> for FILE in $(cd /etc/bind&&  ls *.signed)
> do
>    grep --regexp=" IN CNAME .*${QUERY}" /etc/bind/${FILE} 2>/dev/null |cut -d ' ' -f1 |sed 's|.$||'
> done
> ------------------------------------------------------------------------
> ...and it is to slow do to more then  80.000  Zones  (they  have  to  be
> greped all) number of VHosts.
> Oh, it is now time to use "xargs", because I saw today, that I  hit  the
> limits for "ls".  :-D
> Following is working:
>      cd /etc/bind&&  ls
> but not:
>      cd /etc/bind&&  ls *
> or
>      cd /etc/bind&&  ls *.signed
> and the OSes are called Linux and BSD...  WTF?
> It seems that a commandline can not have more then 31.000 characters.
> (no not options but total lenght)
> Thanks, Greetings and nice Day/Evening
>      Michelle Konzack
The asterisk causes the shell to expand the names and run ls with them 
as a single command, so in effect you have "ls file1 file2 file3 ...".   
Try the following instead:

cd /etc/bind
for FILE in *.signed
   grep --regexp=" IN CNAME .*${QUERY}" ${FILE} 2>/dev/null |cut -d ' ' -f1 |sed 's|.$||'

It might still have the same issue, but worth a go.

I assume the command length is also why your not simply running "grep -h 
<expression> *.signed"?

> _______________________________________________
> bind-users mailing list
> bind-users at

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the bind-users mailing list