주석이 아닌 텍스트가 포함된 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즉 , 포함 줄과 일치할 #때 까지 시작부터 끝까지 모든 수의 문자와 일치 하지만 해당 줄 이전에는 일치하지 않습니다.MYSTRINGMYSTRING#

예:

% 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

관련 정보