
04.08.2009, 15:09
|
|
Новичок
Регистрация: 08.05.2008
Сообщений: 21
С нами:
9477937
Репутация:
0
|
|
dig555 написал(а):
Есть SSH доступ. Есть папка. В ней куча подпапок и файлов.
Задача - найти все файлы, которые называются допустим "myfile.html" (порядка 50 одинаковых файлов, с одинаковым названием), и заменить в них строчку http://site.com/dir/?page=100 на http://another.com/dir2/?page=250
Подскажите, плз, возможно ли это сделать через шелл? Как это должно выглядеть?
Наверное стоит смотреть в сторону sed, вроде как:
sed 's/stringa1/stringa2/g' example.txt replace "string1" with "string2" in example.txt
Да, смотреть надо в сторону седа, только из-за наличия "/" в том что ты ищещь/на что меняешь надо изменить синтаксис на такой:
sed -e "s#http://site.com/dir/?page=100#http://another.com/dir2/?page=250#g"
Да и скриптик можно для это цели заюзать:
Код:
Код:
#!/bin/bash
FILES=`find . -name myfile.html`
for i in ${FILES} do
sed -i -e "s#http://site.com/dir/?page=100#http://another.com/dir2/?page=250#g" $i
done
Кладешь его корень того, где искать будешь, делаешь исполняемым (chmod +x script.sh) и пускаешь. Должно робить.
ЗЫ. Писал из головы, но должно работать. На всякий случай сделай бекап.
|
|
|