正規表現を使用せずに、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
fgrep
を使用します。これはgrep -F
と同じです(固定文字列に一致します)。
さて、照合したい情報を1行に1つずつ入力し、grep
を使用できます。
grep -F -f patterns.txt file.txt
フラグ-F
の使用に注意してください。これにより、grep
はファイルの各行patterns.txtをfixed-string
で検索されると見なします- file.txt。