linux + create host file from CSV file by sed or awk or perl
Posted
by
yael
on Server Fault
See other posts from Server Fault
or by yael
Published on 2012-09-19T08:40:44Z
Indexed on
2012/09/19
9:40 UTC
Read the original article
Hit count: 391
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
© Server Fault or respective owner