Linux에서 호스트 명령을 사용하여 IP 주소를 일괄 역방향으로 해결하는 방법은 무엇입니까?

Linux에서 호스트 명령을 사용하여 IP 주소를 일괄 역방향으로 해결하는 방법은 무엇입니까?

액세스 로그에서 IP 주소를 선택하고 해당 IP 주소가 어디서 왔는지 알고 싶습니다. 이를 위해 다음 스크립트를 사용합니다.

cat /var/log/nginx/access.log |awk '{ print $1}'|sort| uniq -c |sort -n -r | awk '{print $2}' 

예시 출력은 다음과 같습니다:

1.2.3.4
5.6.7.8
...

nslookup파이프라인 명령을 사용하여 결과를 전달할 수 있지만 |결과를 쉽게 읽을 수 없기 때문에 host명령을 사용하려고 했지만 유일한 출력은 host명령 사용 방법에 대한 정보입니다.

host명령을 사용하여 IP 주소를 일괄적으로 확인하려면 어떻게 해야 합니까 ?

답변1

xargs를 사용하면 입력을 표준 입력의 인수로 변환하여 명령으로 변환할 수 있습니다.

-n 옵션은 인수를 하나로 제한하고(개행 문자로 구분) 호스트 각각에 대해 여러 번 호출하므로 다음을 수행할 수 있습니다.

cat /var/log/nginx/access.log |awk '{ print $1}'|sort| uniq -c |sort -n -r | awk '{print $2}' | xargs -n 1 host

관련 정보