Bash scripting help...

list user xktnniuymlla at mailinator.com
Mon Aug 7 21:38:16 UTC 2006


Marko Vojinovic wrote:
> I am writing a bash script to discover a MAC address of a remote host based on 
> it's IP. Found that arping might be useful (is there a better method?), so I 
> get
> 
> # arping -f -I eth0 $ipnumber
> ARPING 10.0.0.3 from 10.0.0.1 eth0
> Unicast reply from 10.0.0.3 [00:0C:29:C8:DE:E2]  1.040ms
> Sent 1 probes (1 broadcast(s))
> Received 1 response(s)
> 
> but the problem is that I just need to set the variable, say macaddr, to the 
> above value, hopefully lowercase, without the [ and ]. Next obvious thing 
> was:
> 
> # arping -f -I eth0 $ipnumber | grep Unicast
> Unicast reply from 10.0.0.3 [00:0C:29:C8:DE:E2]  1.040ms
> 
> but I am over my head in extracting just the number. I guess awk is the tool, 
> but the man page is not very illustrative and I do not have time/patience to 
> learn to program in 'awk language' in order to do this thing. And C would 
> probably be an overkill... :-)

Or this may work...

arping -f -I eth0 10.1.0.51 |\
grep Unicast |\
sed -e 's/.*\[\(..:..:..:..:..:..\)\].*/\1/'




More information about the fedora-list mailing list