Если это всегда одна и та же последовательность без сюрпризов, вам не нужен синтаксический анализ XML, и вы действительно можете использовать sed
.
Чтобы всегда проверять пару двух линий, используйте шаблон N;P;D
в sed
:
sed 'N;P;\_</ac:image>\n *</a>$_d;D' filename
Как это работает?
N
добавляет следующую строку. Обычно вы делаете $!N
, чтобы проверить, есть ли вообще следующая строка, но в вашем случае это не проблема. :Если следующей строки нет, ничего особенного не происходит. P
печатает первую строку \_</ac:image>\n *</a>$_d
d
удаляет пространство шаблона, если вы найдете заданный шаблон из двух строк (\n
— это новая строка между строками ). Первая строка уже была напечатана, поэтому при удалении пространства шаблона удаляется только вторая строка пары D
удаляет первую строку (и новую строку )и перезапускает цикл со второй строкой пары,поэтому проверяется каждая пара строк