Bashスクリプトにレコードを挿入する

Bashスクリプトにレコードを挿入する

どんな意見でも大変感謝いたします。

IPアドレスを挿入したいのですが、スクリプトはIPの代わりにドメイン名を挿入します。

ファイル名: file.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

関連情報