GNU/Linux >> Linux の 問題 >  >> Linux

文字列にドットが含まれている場合に正確な単語をgrepする方法

をエスケープする必要があります。 (ピリオド) デフォルトでは任意の文字と一致するため、-w を指定して特定の単語と一致させます。

grep -w -l "BML\.I" *

上記には 2 つのレベルのエスケープがあることに注意してください。引用符は、シェルが BML\.I を通過することを保証します grepする。 \ grep のピリオドをエスケープします .引用符を省略すると、シェルは \ を解釈します ピリオドのエスケープとして (エスケープされていないピリオドを grep に渡すだけです) )


grep -wF を試してください

マニュアルページから:

 -w, --word-regexp
                  Select  only  those  lines containing matches that form whole words.  The
                  test is that the matching substring must either be at  the  beginning  of
                  the line, or preceded by a non-word constituent character.  Similarly, it
                  must be either at  the  end  of  the  line  or  followed  by  a  non-word
                  constituent  character.  Word-constituent characters are letters, digits,
                  and the underscore.



 -F, --fixed-strings
              Interpret  PATTERN as a list of fixed strings, separated by newlines, any
              of which is to be matched.  (-F is specified by POSIX.)

Linux
  1. 「猫」の出力で単語を強調表示する方法は??

  2. カットを使用して区切り文字にさらにスペースを指定する方法は?

  3. grep を使用して、文字列 hello を持つすべてのファイルを現在のディレクトリで検索し、.h および .cc ファイルのみを表示するにはどうすればよいですか?

  1. UNIX で文字列を整数に変換する方法

  2. grepを使用して単語の接頭辞を削除するには?

  3. bashで文字列内の単語のインデックスを見つける方法は?

  1. Linuxgrepコマンドの使用方法

  2. Linux – Dmesgで何をgrepするかを知る方法は?

  3. Linuxでディレクトリのコンテンツ全体で単語を検索する方法