단어 구분 기호로 공백만 사용하여 정확한 단어를 찾는 방법

단어 구분 기호로 공백만 사용하여 정확한 단어를 찾는 방법

예: 다음 파일이 있습니다.

AA ABC-AA-AA
AAA ABC-AA
ABC.AA ABC
AA ABC.A AA

을 사용하면 grep -w "ABC" file1모든 행을 가져옵니다.

하지만 세 번째 줄만 받아야 합니다.ABC.AA ABC

단어 구분 기호로 .및 를 사용 합니다. -하지만 단어 구분 기호로는 공백만 필요합니다.

답변1

(GNU) grep(1)매뉴얼 페이지에서:

-w, --word 정규 표현식

전체 단어를 구성하는 항목이 포함된 행만 선택하십시오. 테스트에서는 일치하는 하위 문자열이 줄의 시작 부분에 있거나 단어를 만들지 않는 문자가 앞에 있어야 한다는 것입니다. 다시 말하지만, 줄 끝에 있어야 하거나 단어를 형성하지 않는 문자가 뒤에 와야 합니다.단어를 구성하는 문자는 문자, 숫자, 밑줄입니다..

따라서 공백(또는 줄 시작 및/또는 끝)을 명시적으로 요청해야 합니다.

grep -E '(^| )ABC( |$)' file1

다른 공백 문자도 포함하려면 위의 공백을 더 큰 집합으로 바꾸십시오(예를 들어 매뉴얼 페이지를 다시 [[:space:]]참조하십시오 ).grep(1)

관련 정보