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... :-) Help? And when I'm at it, are there good bash scripting tutorials online out there (which hopefully include these types of things)? What can you recommend? The bash man page is begging for (a lot of) examples, and google found several of them, but I'm not satisfied with depth/clarity/correctness/shortness of them. Maybe I am too picky, but I guess there must be something good enough... :-) Best regards, :-) Marko