Массовое редактирование файлов через SSH

Buble-Gum
На сайте с 03.07.2008
Offline
53
2476

Может кто знает, возможно ли такое:

имеется сайт, просто хтмл код, состоящий из инклюдов (верх, них, рекламные блоки и пр. - все инклюдится). Сейчас появилась необходимость изменить код

(например, вместо <?include("http://site.com/file-1.html");?> нужно <?include("http://site.com/file-2.html");?>)

на нескольких тыс. файлов. Возможно ли какой-нить командой сделать это через ssh, не ковыряя каждый файл по фтп?

подпись... была...
P
На сайте с 13.04.2009
Offline
80
#1

На любом языке программирования скрип написать можно.

Поиск по шаблону файлов, иск в найденном искомой строки, замена.

[Удален]
#2

Можно написать скрипт.

Или вариант проще - скачать все файлы себе на компьютер. И воспользоваться программой Notepad++ там есть массовая замена во всех файлах.

[Удален]
#3

sed, awk удобны для таких целей.

bbon
На сайте с 01.04.2006
Offline
127
#4
Buble-Gum:
Может кто знает, возможно ли такое:
имеется сайт, просто хтмл код, состоящий из инклюдов (верх, них, рекламные блоки и пр. - все инклюдится). Сейчас появилась необходимость изменить код
(например, вместо <?include("http://site.com/file-1.html");?> нужно <?include("http://site.com/file-2.html");?>)
на нескольких тыс. файлов. Возможно ли какой-нить командой сделать это через ssh, не ковыряя каждый файл по фтп?

как-то так

perl -i.bak -pe "s/\<\?include\(\"http\:\/\/site.com\/file-1.html\"\)\;\?\>/\<\?include\(\"http\:\/\/site.com\/file-2.html\"\)\;\?\>/ig" *.php

Buble-Gum
На сайте с 03.07.2008
Offline
53
#5

Здесь же на форуме нашел вот такую команду:

find -type f -name *.html -exec sed -i -e 's/что ищем/на что меняем/g' '{}' \;

работает, все ок.

НО. тут есть /что ищем/на что меняем/ - со слешами.

а как быть, если нужно сменить http://site.com/file-1.htm на http://site.com/file-2.htm - тут ведь по нескольку слешей получается.

может возможно как-нить дополнить команду

find -type f -name *.html -exec sed -i -e 's/что ищем/на что меняем/g' '{}' \; ?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий