![grep -E 하위 도메인이 메일 ID와 일치하지 않습니다.](https://linux55.com/image/96390/grep%20-E%20%ED%95%98%EC%9C%84%20%EB%8F%84%EB%A9%94%EC%9D%B8%EC%9D%B4%20%EB%A9%94%EC%9D%BC%20ID%EC%99%80%20%EC%9D%BC%EC%B9%98%ED%95%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
내 Apache 액세스 로그에서 일치하는 모든 URL을 찾고 싶습니다 *.google.com
. 나는 이것을 시도했지만 grep -E *.google.com
또한 일치했습니다 [email protected]
. 이는 바람직하지 않습니다. 이것을 어떻게 피할 수 있습니까?
답변1
처음 에는 말이되지 않았습니다 *
. .
정규식에 있는 내용은 무엇이든 일치합니다. 즉, @
주소에 있는 내용입니다. 텍스트 포인트를 일치시키려면 를 사용하십시오 \.
.
echo [email protected] | grep -E '\.google\.com' || echo no match
답변2
제가 아는 바로는 유효한 도메인 이름에는 문자, 숫자, 하이픈이 포함되어 있습니다. 이 시도:
grep -E '[[:alnum:]-]+\.google\.com'
정규식 튜토리얼을 검색해 보세요. 도움이 될 것입니다.