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