DNS 쿼리에서 IP 주소만 추출하는 방법

DNS 쿼리에서 IP 주소만 추출하는 방법

Alpine Linux에서 DNS/dig 쿼리에서 IP 주소를 추출하는 방법을 알고 싶습니다. 내가 실행 중인 쿼리는 다음과 같습니다.

lab-1:/var/# dig +answer smtp.mydomain.net +short   
smtp.ggs.mydomain.net
10.11.11.11

IP 주소만 반환할 수 있기를 원합니다. 현재 bash 파이프와 awk 명령을 사용하고 있습니다. 하지만 지금까지 시도한 모든 것이 작동하지 않습니다.

감사해요.

답변1

쿼리하는 도메인이 CNAME 이고 dig가 중간 구문 분석 단계를 인쇄하기 dig +short때문에 두 줄의 출력이 있다고 생각합니다 .smtp.mydomain.netsmtp.ggs.mydomain.net

하지만 dig 출력의 마지막 줄을 원하는 IP로 사용할 수 있으므로 다음을 수행해야 합니다.

dig +short smtp.mydomain.net | tail -n1

답변2

@dhag의 대답은 좋은 것 같습니다. "dig 출력의 마지막 줄을 IP로 사용"하지 않으려면 다음을 grep사용하여 숫자 IP 주소만 추출할 수 있습니다.

dig +short smtp.mydomain.net | grep '^[.0-9]*$'

관련 정보