답변:
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를 사용하고 있습니다.