どんな意見でも大変感謝いたします。
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