while IFS=': ' read a b ; do
echo "ns1 14400 IN A $b" >> /var/named/${a}.db
done
Qualquer comentário será apreciado.
Eu gostaria de inserir o endereço IP, mas o script está inserindo o nome do domínio em vez do IP.
Nome do arquivo: file.txt
dns50.com: 1.1.1.1
dns51.com: 2.2.2.2
dns52.com: 3.3.3.3
Script:
for x in 'cat /root/file.txt | cut -d: -f1' ; do
echo "ns1 14400 IN A $x" >> /var/named/$x.db
done
Dados inseridos ao executar o script sobre.
arquivo: /var/named/dns50.com.db
ns1 14400 IN A dns50.com
arquivo: /var/named/dns51.com.db
ns1 14400 IN A dns51.com
arquivo: /var/named/dns52.com.db
ns1 14400 IN A dns52.com
Mas gostaríamos de inserir os seguintes dados
arquivo: /var/named/dns50.com.db
ns1 14400 IN A 1.1.1.1
arquivo: /var/named/dns51.com.db
ns1 14400 IN A 2.2.2.2
arquivo: /var/named/dns52.com.db
ns1 14400 IN A 3.3.3.3
while IFS=': ' read a b ; do
echo "ns1 14400 IN A $b" >> /var/named/${a}.db
done
você pode tentar o seguinte comando awk.
awk -F: '{print "ns1 14400 IN A "$2 > $1.db}' file.txt