LINUX.ORG.RU

Массово добавить блок в html-файлы

 , ,


1

1

Имеется директория, где лежат html файлы, а так же ещё внутри есть директории с ними. Их там тысячи файлов и папок.

Как бы можно добавить новый div-блок с содержимым в каждый html-файл, допустим после тега <body>?

Как бы можно добавить новый div-блок с содержимым в каждый html-файл, допустим после тега <body>?

Как-нибудь сделать sed/perl «s#<body>#<body>твой div-блок#»?

crutch_master ★★★★★ ()
Ответ на: комментарий от bvn13

уж не троянец ты пишешь, а?

Троян на html? :) Это просто статичный сайт с кучей страниц. Нужно просто добавить один новый блок на все страницы.

loopergood ()
Ответ на: комментарий от theNamelessOne

Берёшь Ruby/Python/Perl/etc., берёшь библиотеку для парсинга HTML, пишешь скрипт за вечер.

Думал о Python, но без библиотеки парсинга. Надо посмотреть.

loopergood ()
Ответ на: комментарий от crutch_master

Как-нибудь сделать sed/perl «s#<body>#<body>твой div-блок#»?

С первого взгляда вариант неплохой. Вот только в блоке много всякого. Задолбаешься экранизировать символы.

loopergood ()
Ответ на: комментарий от loopergood
find /path/to/www/root -name "*.html" -exec xmlstarlet ed --inplace --subnode "/body" --type elem -n div -v "ололо" {} \;

как-то так. не тестил.

anonymous ()
Ответ на: комментарий от loopergood

Надо не регуляркой, а чем-нибудь хитрым, где уже всё заэкранировали. Ну или парсить html, который может быть не пригоден к обработке.

crutch_master ★★★★★ ()

В Geany можно делать замену слов во всех файлах в папке

atsym ★★★★★ ()
Ответ на: комментарий от crutch_master

чем-нибудь хитрым, где уже всё заэкранировали

DocumentFragment в любом XML обработчике.

deep-purple ★★★★★ ()
Ответ на: комментарий от loopergood

С первого взгляда вариант неплохой. Вот только в блоке много всякого. Задолбаешься экранизировать символы.

Ну запишите в файл вставку и тупо sed '/<body>/r file_with_div'

vodz ★★★★★ ()
Ответ на: комментарий от Infra_HDC

Решарпер уже предлагали?

Это плагин для мелософтной фигни Visual Studio?

loopergood ()

Решил через поиск по файлам и замену в папке в Sublime Text.

loopergood ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.