|
|
Nevermore + Опытный |
Зарегистрирован: 08.07.2008
Сообщений: 326
|
Обратиться по нику
|
Nevermore + |
Ответить с цитатой | | |
|
Что-то поиск мне не помог...
Может, кто знает как, используя средства командного интерпретатора (в моём случае csh) заменить во всех *.html файлах текущего каталога строку site1.ru на site2.ru?
P.S. Да, я ленивое животное, не использую ТДС.... |
|
|
|
|
|
|
bb-admin Свой |
Зарегистрирован: 25.10.2009
Сообщений: 18
|
Обратиться по нику
|
bb-admin |
Ответить с цитатой | | |
|
perl -pi.bak -e "s/site1.ru/site2.ru/g" *.html
ну или аналогично через команду sed |
|
|
|
|
|
Администирование UNIX-серверов, icq 595706640 |
Nevermore + Опытный |
Зарегистрирован: 08.07.2008
Сообщений: 326
|
Обратиться по нику
|
Nevermore + |
Ответить с цитатой | | |
|
bb-admin, не получается... Может, я что-то не так делаю.
Я почему-то не уточнил, что строки не просто "site1.ru" и "site2.ru", а имеют вид: "site1.ru/folder/check?id=3321"
и "site2.ru/?id=3322"
С перлом и регэкспами у меня туго... Попробовал Ваш вариант, экранировав символы "/" бэкслэшем, т.е.:
perl -pi.bak -e "s/site1.ru\/folder\/check\?id=3321/site2.ru\/\?id=3322/g" *.html
В итоге строка хоть и заменяется, но файл уродуется - вырезаются все хтмл теги. |
|
|
|
|
|
|
Nevermore + Опытный |
Зарегистрирован: 08.07.2008
Сообщений: 326
|
Обратиться по нику
|
Nevermore + |
Ответить с цитатой | | |
|
Нет, с экранированием всё сработало - это я что-то накосячил в прошлый раз.
bb-admin, спасибо! |
|
|
|
|
|
|
|