2

У меня есть рабочий процесс, который генерирует файлы 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 при необходимости корректировался с новым именем файла.

Это работает до сих пор. Тем не менее, это не ответ на этот вопрос, потому что это не специально созданная утилита, доступная для всех.

0