АРМАДА
FreeBSD командный интерпретатор
Новая тема Написать ответ Advanced Hosters - профессиональный хостинг

Nevermore +
Опытный
Зарегистрирован: 08.07.2008
Сообщений: 326
Обратиться по нику
# Добавлено:Пт Ноя 20, 2009 11:41 pmДобавить в избранноеОтветить с цитатой
Что-то поиск мне не помог...
Может, кто знает как, используя средства командного интерпретатора (в моём случае csh) заменить во всех *.html файлах текущего каталога строку site1.ru на site2.ru?

P.S. Да, я ленивое животное, не использую ТДС.... r5

bb-admin
Свой
Зарегистрирован: 25.10.2009
Сообщений: 18
Обратиться по нику
# Добавлено:Сб Ноя 21, 2009 12:16 amОтветить с цитатой
perl -pi.bak -e "s/site1.ru/site2.ru/g" *.html

ну или аналогично через команду sed
Администирование UNIX-серверов, icq 595706640

Nevermore +
Опытный
Зарегистрирован: 08.07.2008
Сообщений: 326
Обратиться по нику
# Добавлено:Сб Ноя 21, 2009 1:50 amОтветить с цитатой
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
Обратиться по нику
# Добавлено:Сб Ноя 21, 2009 6:18 pmОтветить с цитатой
Нет, с экранированием всё сработало - это я что-то накосячил в прошлый раз. r5
bb-admin, спасибо! Drinks or Beer
Новая тема Написать ответ    ГЛАВНАЯ ~ ТЕХНИЧЕСКИЕ ВОПРОСЫ

Перейти:  





Генеральный спонсор



Партнеры