-E — используем потокового текстовый процессор sed с (-E) регулярными выражениями;
N; — N для многострочного поиска;
s — команда для замены, s/регулярное выражение/строка для замены/ФлагиПоиска;
Подробнее про регулярное выражение по ссылке https://regex101.com/r/Qbr8d1/3 ;
Регулярка написана на основе вот этой статьи https://regular-expressions.mobi/duplicatelines.html?wlr=1.
Стоит учесть, что для sed необходимо использовать BRE (https://www.gnu.org/software/sed/manual/html_node/BRE-syntax.html)
Update 12:39.
Сократил регулярку https://regex101.com/r/Qbr8d1/4
sed -E 'N;s/^(I \[.*\])(.*)(\r?\n(I \[.*\])\2)+$//mg' file.log
mother of god Зачем так усложнять то ? sed -e 's/^I \[.*\] //' file
Обсуждают сегодня