前に「#」を付けずに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