Найти и заменить блоки отформатированного кода в нескольких файлах HTML на сервере Linux
Многие из моих сайтов состоят из сотен файлов HTML, и мне часто приходится вносить изменения с помощью "Найти и заменить" во всех файлах одновременно. Для этой цели я использую комбинацию FTP, файлового менеджера cPanel, Notepad++ и Microsoft Expression Web и хотела бы узнать, есть ли более эффективный способ сделать это.
Я использую Notepad ++ для самых простых поисков "найти и заменить" и для поиска по регулярному выражению. Однако Notepad ++ не позволяет вставлять несколько строк текста, поэтому я вынужден использовать Expression Web для замены более крупных блоков кода, особенно если в нем много пробелов и разрывов строк. К сожалению, Expression Web - не самая быстрая вещь в мире, и сочетание этого с необходимостью переключения между программами несколько замедляет мой рабочий процесс.
Я знаю, что люди используют grep через putty, но, опять же, это будет работать только с простыми заменами, а не с большими многострочными блоками, которые вам просто нужно скопировать и вставить. Я хотел бы знать две вещи:
1) Что является хорошей заменой для Expression Web для "поиска и замены" больших блоков текста или кода в Windows?
2) Есть ли способ запустить этот процесс с файлами, которые все еще находятся на сервере? Если нет, возможно ли хотя бы уменьшить количество шагов? Сейчас он делает слишком много шагов:
- Создание резервной копии сайта в cPanel
- Загрузка и распаковка резервной копии
- Редактирование файлов
- Архивирование отредактированных файлов в один архив
- Загрузка архива через FTP
- Возвращаясь к cPanel, чтобы удалить старые файлы и извлечь новый архив.
1 ответ
Вы можете искать и заменять многострочный текст в Notepad++, используя \n в качестве разделителя строк
И вы можете использовать sed для поиска и замены многострочного текста: https://unix.stackexchange.com/questions/26284/how-can-i-use-sed-to-replace-a-multi-line-string