在 bash 脚本中插入记录

在 bash 脚本中插入记录

任何反馈将不胜感激。

我想插入 IP 地址,但是脚本插入的是域名而不是 IP。

文件名:文件.txt

dns50.com: 1.1.1.1
dns51.com: 2.2.2.2
dns52.com: 3.3.3.3

脚本:

for x in `cat /root/file.txt | cut -d: -f1` ; do 
    echo "ns1 14400 IN A $x" >> /var/named/$x.db
done

运行 about 脚本时插入的数据。

文件:/var/named/dns50.com.db

ns1 14400 IN A dns50.com

文件:/var/named/dns51.com.db

ns1 14400 IN A dns51.com

文件:/var/named/dns52.com.db

ns1 14400 IN A dns52.com

但我们想插入以下数据

文件:/var/named/dns50.com.db

ns1 14400 IN A 1.1.1.1

文件:/var/named/dns51.com.db

ns1 14400 IN A 2.2.2.2

文件:/var/named/dns52.com.db

ns1 14400 IN A 3.3.3.3

答案1

while IFS=': ' read a b ; do  
    echo "ns1 14400 IN A $b" >> /var/named/${a}.db
done

答案2

你可以尝试下面的 awk 命令。

awk -F: '{print "ns1 14400 IN A "$2 > $1.db}' file.txt

相关内容