Найти и заменить блоки отформатированного кода в нескольких файлах HTML на сервере Linux

Многие из моих сайтов состоят из сотен файлов HTML, и мне часто приходится вносить изменения с помощью "Найти и заменить" во всех файлах одновременно. Для этой цели я использую комбинацию FTP, файлового менеджера cPanel, Notepad++ и Microsoft Expression Web и хотела бы узнать, есть ли более эффективный способ сделать это.

Я использую Notepad ++ для самых простых поисков "найти и заменить" и для поиска по регулярному выражению. Однако Notepad ++ не позволяет вставлять несколько строк текста, поэтому я вынужден использовать Expression Web для замены более крупных блоков кода, особенно если в нем много пробелов и разрывов строк. К сожалению, Expression Web - не самая быстрая вещь в мире, и сочетание этого с необходимостью переключения между программами несколько замедляет мой рабочий процесс.

Я знаю, что люди используют grep через putty, но, опять же, это будет работать только с простыми заменами, а не с большими многострочными блоками, которые вам просто нужно скопировать и вставить. Я хотел бы знать две вещи:

1) Что является хорошей заменой для Expression Web для "поиска и замены" больших блоков текста или кода в Windows?

2) Есть ли способ запустить этот процесс с файлами, которые все еще находятся на сервере? Если нет, возможно ли хотя бы уменьшить количество шагов? Сейчас он делает слишком много шагов:

  1. Создание резервной копии сайта в cPanel
  2. Загрузка и распаковка резервной копии
  3. Редактирование файлов
  4. Архивирование отредактированных файлов в один архив
  5. Загрузка архива через FTP
  6. Возвращаясь к cPanel, чтобы удалить старые файлы и извлечь новый архив.

1 ответ

Вы можете искать и заменять многострочный текст в Notepad++, используя \n в качестве разделителя строк

И вы можете использовать sed для поиска и замены многострочного текста: https://unix.stackexchange.com/questions/26284/how-can-i-use-sed-to-replace-a-multi-line-string

Другие вопросы по тегам