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