audio.itunes.apple.com을 일치시키고 무시하려면 어떻게 해야 합니까?http://streamingaudio.itunes.apple.com로그 파일에서 grep을 사용하시겠습니까?
답변1
대부분의 grep
구현은 -w
옵션 을 지원합니다.단어성냥:
grep -wF audio.itunes.apple.com
또는 다음과 함께 사용할 grep
수 없는 -w
구현(예: Solaris) 의 경우 -F
:
grep -w 'audio\.itunes\.apple\.com'
audio.itunes.apple.com
앞이나 뒤에 있지 않은 경우에만 포함하는 줄을 찾습니다.단어 문자grep
(단어 문자는 영숫자 또는 밑줄입니다(GNU 2.19 이전 버전의 경우 단일 바이트 문자로 제한됨)). Solaris의 일부 구현에서는 grep
단어가 아닌 문자가 줄의 시작 부분에 있지 않는 한(이 경우 문자열의 첫 번째 문자임에도 불구하고) 일치하는 문자열을 단어 문자로 시작하도록 제한합니다(반드시 단어 문자로 끝날 필요는 없음). 문자는 별 차이가 없습니다.) 일치하는 부분은 항상 a
단어 문자입니다.
따라서 여기서는 단어가 아닌 문자이기 http://audio.itunes.apple.com
때문에 일치 하지만 앞의 문자가 단어 문자이기 때문에 일치하지 않습니다./
http://streamingaudio.itunes.apple.com
g
audio
POSIX에 해당하는 내용은 다음과 같습니다.
grep -E '(^[^[:alnum:]_])audio\.itunes\.apple\.com([^[:alnum:]_]|$)'
또는 BRE를 사용하세요.
grep -x '\(.*[^[:alnum:]_]\)\{0,1\}audio\.itunes\.apple\.com\([^[:alnum:]_].*\)\{0,1\}'
grep
GNU를 포함한 일부 구현에서는 단어가 아닌 단어와 단어 사이의 전환 시 일치하는 정규식 연산자를 grep
지원합니다 (Solaris에는 위와 동일한 홀수 추가 제한 사항이 있습니다 ). 따라서 다음을 사용할 수 있습니다.\<
grep
\<
-w
grep '\<audio\.itunes\.apple\.com'
이러한 grep
구현으로.
답변2
-v, --invert-match를 사용하세요.
일치하지 않는 행을 선택하려면 일치의 의미를 반대로 합니다. (-v는 POSIX에 의해 지정됩니다.)