現在のディレクトリで特定の単語BML.I
を検索しようとしていました。文字列にドットが入っている場合、正確な単語にgrepする方法
私は、以下のコマンドを使用してみました:それはBML
はそれが可能完全一致をgrepする単語が含まれている場合は、すべての結果を表示している
grep -l "BML.I" *
BML.I
現在のディレクトリで特定の単語BML.I
を検索しようとしていました。文字列にドットが入っている場合、正確な単語にgrepする方法
私は、以下のコマンドを使用してみました:それはBML
はそれが可能完全一致をgrepする単語が含まれている場合は、すべての結果を表示している
grep -l "BML.I" *
BML.I
ますのを脱出する必要があります。 (ピリオド)。デフォルトでは任意の文字と一致し、特定の単語に一致するように-wを指定します。
grep -w -l "BML\.I" *
上記には2段階のエスケープがあります。引用符は、シェルがBML\.I
をgrepに渡すことを保証します。 \
は、grep
の期間をエスケープします。あなたが引用符を省略すると、シェルは期間のエスケープとして\
を解釈し(単にgrep
にエスケープされていない期間を渡す)
manページから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.)
私はfgrep
と同じですgrep -F
ファイル名やファイルの内容をお探しですか? – Alepac
@Alepac彼は明らかにコンテンツを探しています。 – Kent
'man grep'を読んでください。 –