grep: 단어 끝 구분 기호가 작동하지 않나요?

grep: 단어 끝 구분 기호가 작동하지 않나요?

아래 시도에서 단어 끝 구분 기호가 인식되지 않는 이유는 무엇 (e)grep입니까 egrep? ( b)?

$ echo -n "my-pc is beautiful" | egrep  'my-pc\b'
my-pc is beautiful
/home/pkaramol
$ echo -n "my-pc-vol2 is beautiful" | egrep  'my-pc\b'
my-pc-vol2 is beautiful

정상적인 결과와 동일합니까 grep?

답변1

잘 인식하지만 옵션을 사용하지 않는 한 일치하는 줄 전체를 grep인쇄합니다 .egrep-o

-o, --match만 해당

줄에서 일치하는 부분만 인쇄합니다.

내 생각엔 당신이 원하는 것:

$ echo -n "my-pc is beautiful" | egrep -o 'my-pc\b'
my-pc

단어 경계는 단어가 아닌 문자입니다. 단어 문자는 다음과 같습니다 [a-zA-Z0-9_]. 따라서 -단어 문자가 아닙니다.

관련 정보