Вы можете:
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