답변:
grep정규식을 사용합니다. .정규식에서 "모든 문자"를 의미합니다. 당신은 리터럴 문자열을 원하는 사용하는 경우 grep -F, fgrep또는 탈출 .에 \..
문자열을 큰 따옴표로 묶는 것을 잊지 마십시오. 그렇지 않으면 사용해야합니다\\.
따라서 귀하의 명령은 다음과 같아야합니다.
grep -r "0\.49" *
또는
grep -r 0\\.49 *
또는
grep -Fr 0.49 *
\\.너무 떠들썩한 파티를 위해, 또는 사용하는 "\."쉘에서 탈출.
거기에 점을 탈출 제안 여기 이렇게 많은 답변이 \.있지만, 나는 또 다시이 문제에 실행 된 것은 : \.나에게 동일한 결과를 제공.
그러나이 두 표현은 저에게 효과적입니다.
$ grep -r 0\\.49 *
과:
$ grep -r 0[.]49 *
우분투와 Archlinux에서 "일반"bash 쉘을 사용하고 있습니다.
의견에 따라 편집 하거나
$ grep -r '0\.49' *
1, 참고 단일 -quotes 여기의 차이 일입니다.
grep '\.'또는 grep \\.(나는 원래의 질문에서와 같이 전자를 강력하게 권장합니다. 큰 따옴표도 작동하지만 작은 따옴표는 이해하고 사용하기가 더 쉽습니다. 예를 들어 큰 따옴표의 경우 여전히 일부 시나리오에서 백 슬래시를 두 배로 늘려야합니다 ).
\\.그것이 작동 하기 위해 두 번 탈출 해야했습니다. zsh를 사용하고 있습니다.