On Thu, 29 Oct 2009 18:37:09 +0200, Giorgos Keramidas 
<keram...@ceid.upatras.gr> wrote:
> You should use a Perl or Python script, and a hash...
> ...
> Running this script should produce something like:
>
> : keram...@kobe:/tmp$ python martin.py < input-file
> : {'kobe': [('A', '127.0.0.1'), ('TXT', '"This is a test"')],
> :  'localhost': [('A', '127.0.0.1')]}
>
> When you have the hash map of hostname to record-list for each host, you
> can select and print any combination of host<=>record from this hash.

On Thu, 29 Oct 2009 13:44:12 -0500, Martin McCormick 
<mar...@dc.cis.okstate.edu> wrote:
> Perl and python-- I wasn't even thinking of that! Thank you. I have
> installed python now on the FreeBSD system and will start learning it.
>
>       A records look like:
>
> hydrogen.cis.osu. 43200       IN      A       192.168.2.123
>
> Text or TXT records look similar except that the data they
> convey are ASCII text strings of various information that are
> either read by people or maybe tell servers how to behave toward
> that particular client.
>
> hydrogen.cis.osu. 5   IN      TXT     "cordell-north,009,192.168.2.123"

Once you slurp all the A and TXT records in a hash-map or another data
structure of your own with Python, you can iterate over the hash and
print parts or all of it.  For example, if you have the hash I printed
in my previous reply, you can print all addresses and text records with
a small bit of code:

: keram...@kobe:/home/keramida$ cat hello.py
: #!/usr/bin/env python
:
: hosts = {'kobe': [('A', '127.0.0.1'),
:                   ('TXT', '"This is a test"')],
:          'localhost': [('A', '127.0.0.1')]}
:
: for h in sorted(hosts):
:     addrs = [x[1] for x in hosts[h] if x[0] == 'A']
:     txts = [x[1] for x in hosts[h] if x[0] == 'TXT']
:     for a in addrs:
:         if len(txts) == 0:
:             txts = [""]
:         for t in txts:
:             print "%-20s %-30s %s" % (a, h, t)
: keram...@kobe:/home/keramida$ python hello.py
: 127.0.0.1            kobe                           "This is a test"
: 127.0.0.1            localhost
: keram...@kobe:/home/keramida$

Add or remove formatting as you see fit :-)

_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"

Reply via email to