Какой лучший способ автоматизировать замену текста? - PullRequest
1 голос
/ 03 августа 2009

Вот ситуация:

У меня много HTML-файлов, и эти HTML-файлы ссылаются на множество документов. Документы ВСЕ были переименованы. У меня есть лист Excel, в котором есть старое имя файла и новое имя файла.

Какой самый быстрый способ изменить ссылки в файлах HTML для размещения новых имен?

Метод, который я использую сейчас: Все HTML-файлы должны быть открыты в Notepad ++ Используйте функцию «Заменить во всех открытых документах» в Notepad ++, чтобы заменить все вхождения определенной ссылки новым именем файла.

Есть ли более быстрый и лучший способ?

Ответы [ 3 ]

1 голос
/ 03 августа 2009

Регулярные выражения Perl.

разработка: псевдокод

open up each file for read-only and read them into a list.
close the files
foreach element in the list
#do the desired text replacement
`s/$oldtext/$newtext/g`;
open each file once more now for writing
write out the new text.

Это не сложно, но требует некоторого тестирования. Если у вас много правок (и больше может произойти позже), это более эффективно.

0 голосов
/ 03 августа 2009

Сначала сохраните Excel в какое-нибудь красивое и простое приложение, например, в виде CSV-файла, чтобы его можно было легко читать на вашем любимом языке, например, на Perl. Переберите каждый файл и выполните поиск и замену. Однако есть одна проблема - делать все за один проход, иначе вы можете создать проблемы, если есть ссылки, которые изменились сложным образом. Т.е. если файл a.html изменился на b.html, а b.html изменился на a.html, вы можете испортить ссылки, если вы сделаете это за несколько проходов. Так что загрузите все изменения в память, затем прокрутите каждый файл и замените все ссылки в нем одновременно.

Потому что именно поиск в html и замена такого инструмента были бы идеальными:

http://www.aliassoftware.com/

Находит и заменяет несколько текстовых строк в нескольких файлах одновременно!

0 голосов
/ 03 августа 2009

Существует несколько бесплатных инструментов с открытым исходным кодом, которые заменяют текст в нескольких файлах, один из них с открытым исходным кодом - FART

Если вы предпочитаете что-то с графическим интерфейсом, попробуйте бесплатный Text Crawler

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...