주석 처리되지 않은 텍스트가 포함된 grep 파일

주석 처리되지 않은 텍스트가 포함된 grep 파일

그 앞에 "#"이 없는 MYSTRING이 포함된 모든 파일을 찾아야 합니다.

예를 들어, 같은 줄에서 MYSTRING 앞에 "#"이 있으므로 FALSE를 반환해야 합니다.

a=1      #  otherstring  MYSTRING

그리고 이것은 TRUE를 반환해야 합니다:

 # another line above is commented  but that's not on the same line
     a=1; MYSTRING

비슷한 질문을 확인했지만 정확히 같은 상황을 찾을 수 없습니다.

답변1

넌 할 수있어:

grep '^[^#]*MYSTRING' file.txt
  • ^[^#]*MYSTRING시작부터 가 아닌 모든 문자와 일치합니다 #. 즉 MYSTRING, 가 있는 줄과 일치 MYSTRING하지만 #줄의 그 이전에는 일치 하지 않습니다.

예:

% cat file.txt
 # another line above is commented  but that's not on the same line
     a=1; MYSTRING
a=1      #  otherstring  MYSTRING

% grep '^[^#]*MYSTRING' file.txt
     a=1; MYSTRING

관련 정보