2016-10-26 3 views
4

私はbashを学んでおり、正規表現が出てきました。 単語に一致させる必要がある練習があり、\b<word>\bを使用しようとしましたが、何らかの理由で\\b<word>\\bを使用するまでは一致しませんでした。 \bがなぜ機能していないのか理解できなかったとき、私は実際にそれを絶望から取り除いた。grepパターンで bを使用しています

+0

あなたが使用した入力を追加する必要があります –

+0

はい私は持っているはずです。ありがとう。実際に私のetc/hostsファイルにはループバックインターフェイスのエントリ(127.0.0.1と:: 1)以外のものがありました –

答えて

3

grep \bword\bを使用していますが、実際にはgrep bwordbです.bashはバックスラッシュを解析した後です。

grep '\bword\b'を使用してください(一重引用符に注意してください)。

+0

あなたは正しいです。私はそれを理解してしまったのです。私は今、別の質問があります。 "localhost"と "localhost.localdomain"を持っているファイルで "localhost"という単語をマッチさせようとしていますが、どちらも一致しています。\ bは単語の端にある空の文字列にマッチします。私が正しい場合、言葉ではありません、私はこれを回避する方法は? –

+0

grep "localhost"ファイル| grep -v "localhost \" *それを取得する必要があります。 – Blacksilver

+0

おかげさまで、私は愚かな気分になりました....私は行く道があります。 –

0

grep -w wordを使用すると、単語全体を一致させることもできます。

関連する問題