파일에서 grep 역참조를 무시하는 방법은 무엇입니까?

파일에서 grep 역참조를 무시하는 방법은 무엇입니까?

다음 두 파일이 있습니다.

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

다음 grep명령은 첫 번째 명령에는 작동하지만 두 번째 명령에는 작동하지 않습니다.

$ 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

관련 정보