Я должен переписать много файлов HTML, например:
*--file1.html--*
<p>text1</p><br>
**<p>text2</p><br>
...<br>
<p>text(n)</p>**
*--file2.html--*
<img1...<br>
<img2...<br>
<p>text1</p><br>
**<p>text2</p><br>
...<br>
<p>text(n)</p>**
*--file3.html--*
<blockquote><br>
<p>text1</p><br>
**<img...<br>
<p>text2</p><br>
...<br>
<p>text(n)</p>**
*--file(n).html--*
... - various combinations of tags.
Отметьте [p] ... [/ p] в разных строках. Мне нужно удалить все теги «р», но первый (я отметил от ** до **), пример:
*--file1.html--*
<p>text1</p><br>
*--file2.html--*
<img1...<br>
<img2...<br>
<p>text1</p><br>
*--file3.html--*
<blockquote><br>
<p>text1</p><br>
Я пробовал это, но это не работает:
sed '/<p>/,</p>/d;1/<p>/!d' file*.html - I delete all the lines starting with tag p, i can not to leave a single line P tag.
sed '1!d' file*.html - work if the first line is tag p, but the first line can be tag img - so bad.
Как сделать, чтобы удалить не первый тег p, а остальные (из второго тега p)? Давайте ошибаться?
1
это может помочь вам лучше разобраться в SO
—
Somesh Mukherjee