Поскольку вы специально спрашивали о решении с использованием sed ... Предполагая, что интересные строки всегда находятся между строками, содержащими <pre>
и </pre>
(выглядят точно так же), и что интересный контент никогда не находится на той же строке, что иоткрывающий или закрывающий тег, и предполагая, что первый такой блок является единственным, который вы хотите извлечь, и предполагая, что, хотя вы понимаете, что это действительно неправильный способ , чтобы решить эту проблему, вы все равно хотите сделатьэто, тогда вы можете сделать это, используя sed, например, вот так:
sed '1,/<pre>/d;/<\/pre>/,$d'
Удаляет все строки от первой до той, которая содержит <pre>
, и все строки от той, которая содержит </pre>
доlast.
(FWIW, я бы предпочел использовать выражение XPath для выбора интересного контента. Например, используя xmlstarlet , как предложил Игнасио Васкес-Абрамс , это может выглядеть так: xmlstarlet sel -t -v /html/body/pre
.)