Я никогда не использовал grep для разбора HTML-файлов, и у меня возникла следующая проблема:
grep -Po "(?s)(<h2>.+?<!-- /endcontent -->)" input.html > output.html
-bash: !--: event not found
Я тоже пытался ...
grep -Po "(?s)(<h2>.+?\<!-- \/endcontent --\>)" input.html > output.html
… но безрезультатно.
Есть ли способ получить grep/bash для разбора HTML-файлов, или я должен использовать другое приложение?
Спасибо.
Редактировать: похоже, что есть хитрость между оболочкой и grep. Поиск точной строки "test" работает, в то время как «t.st» и «t.st» не работают. Кто-нибудь знает почему?
Редактировать: это опция "-P", которая по какой-то причине нарушает регулярное выражение.
Редактировать: Да, опция "-P" требует удвоения символа точки, который обозначает любой символ. Weird.
grep -Po 't..st' input > output