Grep 출력 - 예상되는 결과는 무엇입니까?

Grep 출력 - 예상되는 결과는 무엇입니까?

나는 다음과 같은 grep을 가지고 있습니다

grep "/abc/[A-Z]" file1.txt | cut -d/ f3 | sort -u

grep은 결과를 완벽하게 반환합니다.

ALPHA
abc
BRAVO
CHARLIE

그런데 왜 출력이 abc포함되어 있습니까? 구분 기호 백슬래시 뒤에 대문자 단어만 사용하도록 정규식을 설정했습니다. 이것이 예상된 결과입니까? abc출력에서 어떻게 제거해야 합니까 ?

답변1

에 사용할 정규식을 고정하지 않았습니다 grep. 그 결과 라인의 어느 곳에서나 일치할 수 있습니다.

예를 들어 한 줄은 다음과 같습니다.

blah/blah/abc/Abc

또는

/blah/abc/Abc

은 표현식과 일치하며 둘 다 문자열을 abc세 번째 /구분 필드로 포함합니다.

표현식을 줄의 시작 부분에 고정하려면 다음을 사용하십시오.

^/abc/[A-Z]

abc또는 다른 방법으로 더 엄격한 일치를 강제하거나 스타일과 응용 프로그램에 가장 적합한 방법을 사용하여 최종 결과를 정리하세요 .grep -v -F -x abc

관련 정보