Я немного удивлен, что никто не предложил наиболее очевидное решение:
grep -v '^#' filename
Это решает проблему, как указано.
Но обратите внимание, что общее соглашение для всего от#
до конца строки, которая будет рассматриваться как комментарий:
sed 's/#.*$//' filename
, хотя, например, символ #
в строковом литерале рассматривается как начало комментария (который можетили может не относиться к вашему случаю) (и он оставляет пустые строки).
Строка, начинающаяся с произвольного пробела, за которым следует #
, также может рассматриваться как комментарий:
grep -v '^ *#' filename
если пробелами являются только пробелы, или
grep -v '^[ ]#' filename
, где два пробела фактически являются пробелом, за которым следует буквенный символ табуляции (тип "control-v tab").
Для всех этихВ командах пропустите аргумент filename
для чтения из стандартного ввода (например, как часть канала).