У меня есть скрипт, который принимает входные данные от wget
или аналогичные и ищет по ним ключевые слова, используя grep
. (Я обещаю, что не пытаюсь анализировать HTML с помощью регулярных выражений, это просто удобный способ эмулировать поведение обнаружения контента, которое мы имеем в другом, гораздо более сложном продукте.) Это прекрасно работает, пока контент HTML не слишком сильно минимизирован. Когда это так, строки могут стать очень длинными (более 50 кБ в некоторых случаях, которые я видел), и grep
задыхается от них.
Чтобы исправить это, я хотел бы иметь возможность свернуть или переопределить отступ HTML, чтобы он был распределен по нескольким строкам. Однако для того, чтобы скрипт дал точные результаты, я должен быть в состоянии сделать это, не изменяя содержание. Это означает, что он не может исправлять недействительные или незамкнутые теги и должен складываться только между элементами, а не внутри них.
Эти два требования, по-видимому, исключают все утилиты HTML-tidying или prettifying, которые я нашел.
Существуют ли какие-либо утилиты оболочки на основе UNIX, модули perl/python/ruby или аналогичные, которые могут сделать это для меня?
В качестве альтернативы, так как все, что мне нужно, это добавить несколько новых строк между тегами, есть ли способ, которым я могу полу-надежно сделать это сам?