2016-02-09 6 views
0

Я хочу, чтобы скопировать весь текст на веб-сайт между тегами:Как скопировать текст между двумя тегами html?

<p> and </p>

с использованием Баш. У вас есть идея, как это сделать?

+3

Не делайте этого. Вместо этого используйте парсер HTML. – SLaks

+0

Используйте парсер XML/HTML (xmlstarlet, xmllint, ...). – Cyrus

+0

Вы хотите получить текст из HTML-страницы или хотите создать html-страницу, заполнив пробел между '

' и '

' на вашей странице шаблона html с некоторой другой строкой? –

ответ

0

Как говорится выше, не пытайтесь. Не существует надежного способа анализа HTML с внутренними элементами Bash. Но когда вы используете оболочку, вы можете использовать сторонние инструменты командной строки, такие как pup, которые созданы для синтаксического анализа HTML в командной строке.

0

Да, парсер HTML - лучший выбор. Но если вы просто пытаетесь быстро захватить текст между первым набором P тегов, вы можете использовать Perl:

perl -n0e 'if (/<p>(.*?)<\/p>/s) { print $1; }' 

Например:

echo " 
<p>A test 
here 
today</p> 
<p>whatever</p> 
" | perl -n0e 'if (/<p>(.*?)<\/p>/s) { print $1; }' 

Этот выход будет:

A test 
here 
today 
Смежные вопросы