linux + create host file from CSV file by sed or awk or perl
- by yael
I have the following CSV file
this file defined which Linux machine exist in the system and there ip's
my target is to create host file from this file
please advice how to create host file as example 1 from my CSV file ( I need to match the IP address from CSV file and put it on the first field of the host file , then match the LINUX name and locate this name in the sec field – as example 1 )
remark - should be performed by sed or awk or perl .. , I need to write the solution in my bash script
CSV file
, machine , VM-LINUX1 , SZ , Phy , 10.213.158.18 , PROXY
, VM-LINUX2 , SZ , 10.213.158.19 ,
OLD HW , VM-LINUX3 , SZ , 10.213.158.20 ,
, VM-LINUX4 , SZ , Phy , 10.213.158.21 ,
, VM-LINUX5 , SZ , Phy , OUT , EXT , LAN3 , 10.213.158.22 , INTERNAL
, VM-LINUX6 , SZ , Phy , 10.213.158.23 ,
, server , new HW , VM-LINUX7 , SZ , Phy , 10.213.158.24 , OUT, LAN3
, VM-LINUX8 , SZ , 10.213.158.25 ,
OLD HW , machine , VM-LINUX9 , SZ , Phy , INT , 10.213.158.26 , LAN2, AN45,
, VM-LINUX10 , SZ , Phy , 10.213.158.27 ,
, VM-LINUX11 , SZ , Phy , LAN5 , 10.213.158.28 ,
example 1 ( host file )
10.213.158.18 VM-LINUX1
10.213.158.19 VM-LINUX2
10.213.158.20 VM-LINUX3
10.213.158.21 VM-LINUX4
10.213.158.22 VM-LINUX5
10.213.158.23 VM-LINUX6
10.213.158.24 VM-LINUX7
10.213.158.25 VM-LINUX8
10.213.158.26 VM-LINUX9
10.213.158.27 VM-LINUX10
10.213.158.25 VM-MACHINE8
10.213.158.26 STAR9
10.213.158.27 TOP10
10.213.158.28 SERVER11