Проблема решена. Это все из-за моего фреймворка. Мне нужно было разрешить ssl-соединения. Спасибо всем за помощь)
gsed '/<\/ac:image>/,+1 { /<\/a>$/d; }' testfile.txt
где gsed
означает GNU sed
.
Если это всегда одна и та же последовательность без сюрпризов, вам не нужен синтаксический анализ 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
удаляет первую строку (и новую строку )и перезапускает цикл со второй строкой пары,поэтому проверяется каждая пара строк