다른 사람을 무시하고 grep과 정확한 하위 도메인을 일치시키는 방법

다른 사람을 무시하고 grep과 정확한 하위 도메인을 일치시키는 방법

audio.itunes.apple.com을 일치시키고 무시하려면 어떻게 해야 하나요?http://streamingaudio.itunes.apple.comgrep을 사용하여 로그 파일에?

답변1

대부분의 grep구현은-w 다음에 대한 옵션을 지원합니다.단어성냥:

grep -wF audio.itunes.apple.com

또는 다음과 함께 grep사용할 수 없는 구현(예: Solaris') 의 경우 :-w-F

grep -w 'audio\.itunes\.apple\.com'

다음을 포함하는 행만 찾습니다.audio.itunes.apple.com앞이나 뒤에 있지 않은 경우에만 다음을단어 문자grep(단어 문자는 영숫자 또는 밑줄입니다( 2.19 이전 GNU 버전의 경우 단일 바이트 문자로 제한됨 )). Solaris와 같은 일부 grep구현에서는 일치하는 문자열이 단어가 아닌 문자가 줄의 시작 부분에 있지 않는 한 단어 문자로 시작하도록 제한합니다(반드시 끝나는 것은 아니지만). 일치하는 부분은 항상 a단어 문자 입니다 ).

그래서 여기서는 단어가 아닌 문자이기 http://audio.itunes.apple.com때문에 일치 하지만 앞에 오는 것은 단어 문자이기 때문에 일치하지 않습니다./http://streamingaudio.itunes.apple.comgaudio

POSIX에 해당하는 내용은 다음과 같습니다.

grep -E '(^[^[:alnum:]_])audio\.itunes\.apple\.com([^[:alnum:]_]|$)'

또는 BRE의 경우:

grep -x '\(.*[^[:alnum:]_]\)\{0,1\}audio\.itunes\.apple\.com\([^[:alnum:]_].*\)\{0,1\}'

grepGNU를 포함한 일부 구현은 단어가 아닌 단어와 단어 사이의 전환에서 일치하는 정규식 연산자를 grep지원합니다 (Solaris 의 경우 위와 동일한 홀수 추가 제한이 있습니다 ). 따라서 다음을 사용할 수 있습니다.\<grep\<-w

grep '\<audio\.itunes\.apple\.com'

이러한 grep구현으로.

답변2

-v, --invert-match를 사용하세요.

일치 의미를 반전하여 일치하지 않는 선을 선택합니다. (-v는 POSIX에 의해 지정됩니다.)

grep -vhttp://streamingaudio.itunes.apple.com

관련 정보