Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 May 2008 13:59:47 -0500
From:      Paul Schmehl <pauls@utdallas.edu>
To:        FreeBSD Questions <freebsd-questions@freebsd.org>
Subject:   Unexepcted behavior from read and cat
Message-ID:  <C1DFB4E8F62B503C9A829107@utd65257.utdallas.edu>

next in thread | raw e-mail | index | archive | help
I created a small list of IPs that I wanted to do digs on (because I'm lazy and 
don't want to do them one at a time.)

I then wrote the following on the commandline:

% dig +short -x `cat iplist`

The results was an answer for the first line only.

So, I thought read line would do the trick.  I tried this:

% dig +short -x `(read line; echo $line; while read line; do echo $line; done) 
< iplist`

Same result.

I even tried:

% dig +short -s `cat iplist | awk '{print $1}'`

Same result.  (Yes, I know, why do twice the work to get the same answer, but I 
was desperate.)

WTF?  Why do these utilities, which usually read all the lines in a file now 
only work once when run through dig?  Is there a way to feed dig a list of IPs 
and have it return each and every one of them?

I tried dig +short -x -f iplist, but that returns nothing at all.

Sure, I can edit the file and prepend +short -x to each line, but by then I 
might as well just do them individually.

What am I missing?

-- 
Paul Schmehl (pauls@utdallas.edu)
Senior Information Security Analyst
The University of Texas at Dallas
http://www.utdallas.edu/ir/security/




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C1DFB4E8F62B503C9A829107>