У меня есть рабочий процесс, который генерирует файлы HTML более 10 МБ. Я хотел бы разделить эти файлы 10 МБ на более мелкие файлы ... больше в диапазоне 1 МБ.
Файл HTML содержит внутренние ссылки и якоря. Поэтому, какую бы утилиту я не использовал, нужно будет соответствующим образом изменить <a href="../foo>foo</a>
и <a id="fooID"></a>
чтобы использовать имена файлов меньшего размера.
То, что я представляю себе, это когда какая-то утилита разбивает файл в заранее определенном месте, возможно, в каждой точке.
Кто-нибудь знает об утилите командной строки или сценарии, чтобы автоматизировать это?
ОБНОВЛЕНИЕ: я закончил тем, что создал свой собственный bash-скрипт для этого. Я сожалею, что не могу поделиться кодом, но я перефразирую его:
- создать подкаталог для размещения полученных разделенных HTML-файлов
- разбить файл (я использовал xslt 2.0)
- Я положил оригинал
<head>
во все файлы - Я использовал xpath, который разделяет файл на определенный тег уровня блока
- Я положил оригинал
- Recurse (xslt 2.0) через каталог новых файлов, чтобы создать временный файл XML с двумя полями:
- имя файла
- найденный @id
- Recurse (xslt 2.0) через каталог новых файлов HTML снова. Каждый @href сравнивался с файлом XML пар @ id/filename, а href при необходимости корректировался с новым именем файла.
Это работает до сих пор. Тем не менее, это не ответ на этот вопрос, потому что это не специально созданная утилита, доступная для всех.