grep -x가 패턴이 포함되어 있음을 의미하는 이유는 무엇입니까?

grep -x가 패턴이 포함되어 있음을 의미하는 이유는 무엇입니까?

하지만답변man grep제가 언급한 또 다른 질문은 다음과 관련이 있습니다.-x

-x, --line-regexp
       Select only those matches that exactly match the whole line.
       For a regular expression pattern, this is like parenthesizing
       the pattern and then surrounding it with ^ and $.

나는 이것이 " [정규식]을 and"로 둘러싸는 것과 -x같다는 것을 이미 알고 있는데 , 왜 "패턴을 둘러싸다"라는 뜻이기도 합니까?^$

대괄호가 필요한 이유를 알 수 없거나 아무것도 변경할 수도 없습니다. 전체 패턴을 괄호로 묶으면 캡처링 그룹을 사용하여 내부적으로 참조할 수 없습니다. grep후행 백슬래시에 대해 불평하므로 추가 시 이상한 동작이 없습니다 )(이 역시 옵션의 정신에 포함되는 것을 원하지 않습니다).

man grep특히 parenthesizing the patternfor를 언급하는 이유는 무엇 입니까 -x?

답변1

이는 대안이 있는 정규식에 중요합니다.

grep -E 'this|that'

괄호 ^없이 그냥 추가하면$

grep -E '^this|that$'

"this" 또는 "that"만 포함하는 줄이 아니라 "this"로 시작하거나 "that"으로 끝나는 줄과 일치합니다.

관련 정보