Я смог выяснить это самостоятельно, проведя небольшое исследование. Поскольку комментарии не очень помогли, я решил написать об этом сообщение в блоге.
Ссылка на блог(удалена, запишите сюда)
Предполагая, что все многострочные совпадения начинаются с --[[
и заканчиваются на ]]
, можно использовать совпадение диапазона для адресации многострочного -совпадения, а также однострочного совпадения.
$ sed '/^--\[\[/,/\]\]/d' input_file
--like this
foo=bar --or like this
Реализация исходного кода теперь может очистить оставшиеся комментарии, которые не соответствуют предыдущей команде.
$ sed '/^--\[\[/,/\]\]/d;s/--.*$//' input_file
foo=bar
Для очистки также можно удалить пустые строки.
$ sed '/^--\[\[/,/\]\]/d;s/--.*//;/^$/d' input_file
foo=bar