Использование grep для извлечения нескольких заголовков - PullRequest
0 голосов
/ 01 июля 2018

Я пытаюсь вернуть текст между тегами заголовка <h1> and </h1>, а также между тегами <h3> and </h3> из текстового файла. Файл имеет только один <h1> и имеет 4 <h3> тега, меня интересуют только первые 2 <h3> теги. Но я хочу текст между ними.

Эти команды grep выдают правильный вывод по одному, но когда я пытаюсь их объединить, у меня возникают проблемы.

grep  -o -P '(?<=<h1>).*(?=</h1>)' file.txt  
grep  -o -P '(?<=<h3>).*(?=</h3>)' file.txt  

Я пытался
grep -e '(?<=<h1>).*(?=</h1>)'-e'(?<=<h3>).*(?=</h3>)'

grep -o '(?<=<h1>).*(?=</h1>)'\'(?<=<h3>).*(?=<h3>)'

Я не уверен, что -P делает, кроме man-страницы, где написано выражение Perl. Но это позволяет только один -P за один раз. Есть ли другая команда, которую я мог бы использовать, чтобы тянуть текст между

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...