Bash 如何从类似于/etc/hosts的文件创建基于IP地址的网络文件

Bash 如何从类似于/etc/hosts的文件创建基于IP地址的网络文件,bash,mapping,hostname,hosts,Bash,Mapping,Hostname,Hosts,我有一个将IP地址映射到主机名的文件。它的格式类似于hosts文件,并包含一个IP地址到主机名映射的列表 例如 我想为文件中提到的所有IP地址创建网络文件(/etc/sysconfig/network) 网络文件的格式是根据主机文件提到主机名的地方 NETWORKING=yes HOSTNAME=master1 NOZEROCONF=yes 对于每个IP地址,网络文件都创建在一个以IP地址命名的目录中,即network/{IPAddress} 例如,对于master1文件路径应为network

我有一个将IP地址映射到主机名的文件。它的格式类似于hosts文件,并包含一个IP地址到主机名映射的列表

例如

我想为文件中提到的所有IP地址创建网络文件(
/etc/sysconfig/network

网络文件的格式是根据主机文件提到主机名的地方

NETWORKING=yes
HOSTNAME=master1
NOZEROCONF=yes
对于每个IP地址,网络文件都创建在一个以IP地址命名的目录中,即
network/{IPAddress}

例如,对于
master1
文件路径应为
network/10.200.99.1
,对于
master2
文件路径应为
network/10.200.99.2

我怎样才能做到

到目前为止,我通过以下命令获得了IPAdress
echo$(从
hosts
读取ip和主机名,并将所需的输出写入
network/$ip

while read ip hostname; do
    printf '%s\n' "NETWORKING=yes" "HOSTNAME=$hostname" "NOZEROCONF NF=yes" > network/$ip
done < hosts
读取ip主机名时;执行以下操作
printf'%s\n'“NETWORKING=yes”“HOSTNAME=$HOSTNAME”“NOZEROCONF NF=yes”>network/$ip
完成<主机
while read ip hostname; do
    printf '%s\n' "NETWORKING=yes" "HOSTNAME=$hostname" "NOZEROCONF NF=yes" > network/$ip
done < hosts