私はegrep
にランタイムの前に知られていない文字列を必要とし、シェル変数(シェルはbashです。問題は、その文字列に中かっこ、空白、点、スラッシュなどの特殊文字が含まれることです。未知の文字列を正規表現でエスケープするには?
文字列を知っていれば、一度に1文字ずつエスケープすることができますが、文字列全体でどのようにすることができますか?
sedスクリプトで文字列を実行すると、それぞれの特殊文字の前に\が付いている可能性がありますが、このようなスクリプトをどのように記述する必要がありますか?他に良いオプションがあるかどうかはわかりません。
私はre_format(7)
を読みましたが、
EDIT ...「などのリテラル全体の次の文字列を取る」ようなものは存在しないようです:偽陽性を避けるために、私はまた、パターンに改行検出を追加する必要があり、例えば。 egrep '^myunknownstring'
bashで正規表現をエスケープする方法http://stackoverflow.com/questions/11856054/bash-easy-way-to-pass-a-raw-string-to-grep/16951928#16951928 –