예를 들어 다음 줄이 있습니다.
CCP2007
CCCP
CCCCPPPPCCC
CCCCCPPPPPCCCCC
CCP2007
한 줄에 두 글자만 있으므로 첫 번째 글자를 표시하고 싶습니다 . C
그 명령은 무엇입니까?
답변1
줄에 다른 문자가 없는 것으로 CC
시작하는 줄 과 일치합니다.C
grep '^CC[^C]*$' file
CC
줄의 시작 부분에 있을 필요 없이 마찬가지입니다 .
grep '^[^C]*CC[^C]*$' file
C
그리고 줄의 총 문자 수에 관계없이:
다음으로 시작 CC
하지만 시작하지 않는 행과 일치합니다 CCC
(예: CCAC
일치, CCCA
삭제).
grep '^CC[^C]' file
최대값과 최소값 2가 반복되는 행을 일치시킵니다 C
.
grep -v 'CCC'| grep 'CC'
답변2
GNU grep의 PCRE 모드 및 Perl 플레이버 사용주위를 둘러보세요CC
이전이나 이후에 아무것도 없는 경우와 일치합니다 C
.
grep -P '(?<!C)CC(?!C)'
또는 ERE 패턴과 유사한 것을 가짜로 만듭니다.
grep -E '(^|[^C])CC([^C]|$)'
답변3
다음을 포함하는 정확한 행을 찾으려면