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

관련 정보