Заметка от склероза. Способ ниже удаляет закомментированные, а заодно и пустые строки из файла, но не трогает комментарии в строках. Хорошо помогает почистить какой-нибудь конфиг, в котором комментариев больше, чем самих параметров, и хрен че найдешь:
grep -o '^[^#]*' file.txt > cleaned.txt
Вместо file.txt
подставляем исходный файл, вместо cleaned.txt
— выходной.
Там есть и другие варианты решения задачи.