web-dev-qa-db-ja.com

正確なリテラル文字列をgrepする方法(正規表現なし)

正規表現を使用せずに、grep(または別のコマンドを使用)で正確な文字列を検索する方法はありますか?

たとえば、(文字通り)検索したい場合:

/some/file"that/has'lots\of"invalid"chars/and.triggers$(#2)[*~.old][3].html

私はすべての「回避可能な」ものを通り抜けて逃げ出したくありません。基本的に、echoの場合と同様に、それを通過させたいです。

$ echo "/some/file\"that/has'lots\of\"invalid\"chars/and.triggers$(#2)[*~.old][3].html"
/some/file"that/has'lots\of"invalid"chars/and.triggers$(#2)[*~.old][3].html
36
Nathan J.B.

fgrepを使用します。これはgrep -Fと同じです(固定文字列に一致します)。

54
pldoverflow

さて、照合したい情報を1行に1つずつ入力し、grepを使用できます。

grep -F -f patterns.txt file.txt

フラグ-Fの使用に注意してください。これにより、grepはファイルの各行patterns.txtfixed-stringで検索されると見なします- file.txt

14
Rubens