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 で指定されます.)