ファイルでgrepの逆参照を無視する方法は?

ファイルでgrepの逆参照を無視する方法は?

次の2つのファイルがあります。

$ cat in1.lst 
foo.pdf
bar.pdf
$ cat in2.lst 
foo.pdf
bar\355xyz.pdf

次のgrepコマンドは最初のコマンドには機能しますが、2番目のコマンドには機能しません。

$ grep -f in1.lst /dev/null
$ grep -f in2.lst /dev/null 
grep: invalid backreference number

実際のシナリオでは、長いURLのリストを含むファイルがあり、その一部には\xxx文字列が含まれています。grep逆参照の特別な意味を無視して実行したいと思います。

パラメータを介してファイルをロードするときに逆参照の特別な意味を無視する方法は-f


追加情報:

$ grep --version
grep (BSD grep) 2.5.1-FreeBSD
$ type grep
grep is aliased to `grep --color=auto'

ベストアンサー1

-F--fixed-stringsパターンを固定文字列セットとして解釈する/引数を使用する必要があります(したがってgrep動作を強制しますfgrep)。望むより: man grep

だから:

grep -F -f in2.lst /dev/null

または:

fgrep -f in2.lst /dev/null

おすすめ記事