예: 다음 파일이 있습니다.
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)