grep 패턴에서 \ b는 무엇을 의미합니까?


12

이 명령은 무엇을합니까?

grep "\bi\b" linux.txt

무엇을 찾고 있습니까?


그것은 분명하지만, 그렇지 않은 경우를 대비, 여기의 (중요한) 차이에 메모입니다 수 \<...\>\b...\b`동일한의 행동이 패턴을 가정하면 당신은 볼 ... 예상치 못한 결과를 얻을 수 있습니다 이 링크
피터. O

답변:


13

\b 정규식에서 "단어 경계"를 의미합니다.

이 grep 명령 i을 사용하면 파일에서 모든 단어 를 검색 합니다 linux.txt. i한 줄의 시작이나 끝에 또는 문장에서 두 공백 문자 사이에있을 수 있습니다.


처음이나 끝일 수 있습니다 ?? 공백 사이에만 있어야하지 않습니까 ??
amyassin

1
그것에 대한 자세한 내용을 찾지 못했습니다. 그러나 "i foo"와 "bar i"줄을 포함하는 파일로 직접 시도하면 위의 grep 명령에 제공된 정규 표현식이 두 파일과 일치합니다.
uloBasEI

1
보다 정확하게는 공간 뿐만 아니라 단어 이외의 문자도 있습니다. -w --word-regexp스위치가 하는 것처럼 : grep -w "i" linux.txt. 예를 들어 "<i> italic </ i>"과 같은 줄도 일치합니다.
manatwork

0

\b(워드 경계) 앵커 대신 사용할 수 있습니다 \<\>단어의 시작 또는 끝을 의미 할 수 있습니다.

이것이 다음의 내용 인 경우 file:

Hi
this
is test file
to carry out few regular expressions

그때:

$ grep -e '\ breg'파일
몇 수행하는 등록 울라 표현을
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.