Inserindo registros no script bash [duplicado]

1

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
    
por techforever92 11.07.2018 / 10:51

2 respostas

2

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

você pode tentar o seguinte comando awk.

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