回答:
grep
正規表現を使用します。.
正規表現では「任意の文字」を意味します。あなたは文字列リテラルをしたい場合は、使用grep -F
、fgrep
または脱出.
に\.
。
文字列を二重引用符で囲むことを忘れないでください。それ以外の場合は使用する必要があります\\.
したがって、コマンドは次のようにする必要があります。
grep -r "0\.49" *
または
grep -r 0\\.49 *
または
grep -Fr 0.49 *
\\.
bashにも使用"\."
するか、シェルからエスケープするために使用する必要があります。
ここにドットをエスケープすることを提案する非常に多くの答えがありますが\.
、私はこの問題に何度も何度も遭遇しています:\.
遭遇しています私に同じ結果を与えます.
ただし、次の2つの式は私にとってはうまくいきます。
$ grep -r 0\\.49 *
そして:
$ grep -r 0[.]49 *
UbuntuとArchlinuxで「通常の」bashシェルを使用しています。
grep '\.'
またはgrep \\.
(前者を強くお勧めします。元の質問と同様に、二重引用符も機能します。ただし、単一引用符の方が理解しやすく、使いやすいです。たとえば、二重引用符を使用しても、一部のシナリオではバックスラッシュを2倍にする必要があります。 )。
\\.
に2回脱出する必要がありました。私はzshを使用しています。