/var/log/messages에서 모든 고유 IP 주소를 grep하여 다른 로그 파일로 보내는 방법

/var/log/messages에서 모든 고유 IP 주소를 grep하여 다른 로그 파일로 보내는 방법

저는 오래된 Redhat 공용 BIND 서버를 폐기할 예정이며 해당 네임서버에 DNS 요청을 보내는 고유한 IP 주소를 모두 찾고 싶습니다. 이것이 내가 지금까지 종합할 수 있었던 것이지만 명령에는 요청을 보내는 클라이언트의 IP 이상의 정보가 포함되어 있습니다.

egrep -o [0-9]\{1,3\}[.][0-9]\{1,3\}[.][0-9]\{1,3\}[.][0-9]\{1,3\} /var/log/messages | sort | uniq -c > dns-ip-client.log

나는 이 일을 어떻게 할 것인가?

감사해요.

답변1

나는 당신의 인용/탈출이 당신을 넘어뜨리고 있다고 생각합니다. 작은따옴표를 사용하면 작업이 더 쉬워집니다.

grep 'named' /var/log/messages | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}'

grep -E== 에 주의하세요 . egrep그러나 "egrep 또는 fgrep을 직접 호출하는 것은 권장되지 않습니다."

관련 정보