I'm trying to filter remote machine mac address , IP and hostname from 100 machines. Initially I'm capturing the information using below command.
$for i in `cat IP`;do in ssh root@$IP "ifconfig eth0 && hostname " ;done
eth0      Link encap:Ethernet  HWaddr 00:MN:77:TR:XX:ZZ
          inet addr:192.168.122.25  Bcast:192.168.122.255  
          Mask:255.255.224.0
test.com-112304
eth0      Link encap:Ethernet  HWaddr 00:TT:77:MM:XX:YY
          inet addr:192.168.122.22  Bcast:192.168.122.255  
          Mask:255.255.224.0
test.com-11035
Initially the output redirect to one file. from their I need to process output which comes in the above format.
I can able to accomplish to print IP and mac by line as follows
$cat input | awk '/HWaddr/{printf $NF;printf " ";getline;print $2;}' | cut -c1-18,24-
00:MN:77:TR:XX:ZZ 192.168.122.25
00:TT:77:MM:XX:YY 192.168.122.22
Actually I want to include hostname along with the output as follows
00:MN:77:TR:XX:ZZ 192.168.122.25  test.com-112304
00:TT:77:MM:XX:YY 192.168.122.22  test.com-11035
test.com will be common name for all hostname. I tried redirect both output in two variable and called as follows , but no luck.
a=`cat input | awk '/HWaddr/{printf $NF;printf " ";getline;print $2;}' | cut -c1-18,24-`
b=`grep test.com input`
echo $a $b  | xargs -n2 
Please shed some views