
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
前後に次の文字が付いていない行のみを検索します。単語の文字(単語文字は英数字またはアンダースコア (2.19 より前のバージョンの GNU では 1 バイト文字に制限) ですgrep
)。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 で指定されます。)