Замена в большом кол-ве файлов с сохранением структуры

Тема в разделе "Решение различных задач по парсингу", создана пользователем braind, 27 сен 2012.

  1. braind

    braind New Member Пользователи

    Регистрация:
    18 дек 2011
    Сообщения:
    16
    Здравствуйте, помогите пожалуйста решить задачку.
    Есть много поддоменов, в каждом есть index.html. Нужно сохранить index.html в папку поддомена на диске (111.domen.ru\index.html), в каждом заменить строку текста.

    Пробовал такой код
    [REPLACE(
    строка1|строка2
    )][/REPLACE]
    [DOCSOURCE]
    DOCSNAMES_<CD_DOCURL!>\index.html

    - файл сохраняется в нужную папку (правда, не в той кодировке), а замена не работает. Местами менял, безрезультатно. Что посоветуете?
     
  2. zilon

    zilon New Member Пользователи

    Регистрация:
    24 дек 2011
    Сообщения:
    80
    текст можно заменить используя Notpad++ там надо выбрать в верхнем меню Поиск >> Замена >> Найти в файлах и заменить, используя регулярные выражения если строка не одинаковая на всех поддоменах. Вот регулярка заменит все ссылки начинающиеся с http на ссылки с адресом # во всех файлах папки и подпапках
     

    Вложения:

    • ы.png
      ы.png
      Размер файла:
      27,7 КБ
      Просмотров:
      27
    Последнее редактирование: 27 сен 2012
  3. braind

    braind New Member Пользователи

    Регистрация:
    18 дек 2011
    Сообщения:
    16
    ага, проблема только в том, что все лежит на FTP
    300 поддоменов, 25 гб
    замену нужно произвести только в одном файле на каждом поддомене
     
  4. zilon

    zilon New Member Пользователи

    Регистрация:
    24 дек 2011
    Сообщения:
    80
    я думаю можно выкачать все index.html странички Content Downloader'ом в нужные папки, без замены, а потом заменить то что надо нотпадом и закачать странички обратно ftp клиентом например failzil'ой, с заменой старых страниц
     
  5. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.442
    Адрес:
    Latvia
    DOCSNAMES_ макрос задает имена сохраняемых файлов с возможностью указания формата и вложенности папок, но сам не может фильтровать конфликтные символы, иначе проигнорирует работу.
    Попробуйте с очисткой ненужных символов для названия файла
    В итоге:
    DOCSNAMES_[FIRST_REPLACE(http://|{break}www.|{break}/{skip}|)]<CD_DOCURL!>[/FIRST_REPLACE]\index.html
     

Поделиться этой страницей