- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Как удалить плохие SEO-ссылки и очистить ссылочную массу сайта
Применяем отклонение ссылок
Сервис Rookee
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Нужно массово в .htm* по пути usr/home/mysite.com
заменить: .com" TARGET="_blank"
на: .com/er<? echo $ss2; ?>" TARGET="_blank"
Перепробовал кучу команд sed,find и т д.. Как я понял везде загвозка в тои, что в строчках, которые нужно заменить есть знаки /,"
Как правильно составить команду исходя из моих строчек для замены? Подскажите пожалуйста.
Ну что-то вроде такого:
#!/bin/bash
#
#Что искать
SEARCH='.com" TARGET="_blank"'
#Чем заменить
REPLACE='.com/er<? echo $ss2; ?>" TARGET="_blank"'
#искать
find /usr/home/mysite.com -type f -name "*.htm" -print0 | xargs -0 sed -i -e "s%${SEARCH}%${REPLACE}%"
экранировать обратным \ не пробовали?
В шелле спецсимволы — это песня. Пробуйте отдельные команды на тестовых строках, подбирайте результат.
Ну что-то вроде такого:
#!/bin/bash
#
#Что искать
SEARCH='.com" TARGET="_blank"'
#Чем заменить
REPLACE='.com/er<? echo $ss2; ?>" TARGET="_blank"'
#искать
find /usr/home/mysite.com -type f -name "*.htm" -print0 | xargs -0 sed -i -e "s%${SEARCH}%${REPLACE}%"
не отрабатывает скрипт
---------- Добавлено 30.04.2013 в 10:47 ----------
экранировать обратным \ не пробовали?
Попробовал - не работает.
---------- Добавлено 30.04.2013 в 10:48 ----------
В шелле спецсимволы — это песня. Пробуйте отдельные команды на тестовых строках, подбирайте результат.
Уже пробовал, по этой причине и отписал на форум.
лови скрипт
список файлов на замену files.txt, сможешь составить или тоже комманды кинуть?
#!/bin/sh
lst=`/bin/cat files.txt`
for d in ${lst}
do
sed -i '' -e "s#\.com\" TARGET=\"_blank\"#\.com/er<? echo $ss2; ?>\" TARGET=\"_blank\"#g" ${d};
done
1. составить список файлов
2. проверить список файлов
3. только потом запускать скрипт
иначе бывают неприятные сюрпризы
лови скрипт
список файлов на замену files.txt, сможешь составить или тоже комманды кинуть?
#!/bin/sh
lst=`/bin/cat files.txt`
for d in ${lst}
do
sed -i '' -e "s#\.com\" TARGET=\"_blank\"#\.com/er<? echo $ss2; ?>\" TARGET=\"_blank\"#g" ${d};
done
А где указывается дерриктория?
список файлов на замену files.txt тоже скинь плиз
find usr/home/mysite.com -name "*.htm" -type f > files.txt
комманда для составления списка на замену, перед запуском скрипта, проверь список
find usr/home/mysite.com -name "*.htm" -type f > files.txt
комманда для составления списка на замену, перед запуском скрипта, проверь список
спасибо, попробую
---------- Добавлено 30.04.2013 в 12:40 ----------
Не работает. пишет:
ErrorDocument: not found
AddHandler: not found
: not found
ErrorDocument: not found
AddHandler: not found
не работает
find или shell скрипт?
покажите строки с files.txt
AddHandler: not found
: not found
ErrorDocument: not found
AddHandler: not found
это похоже на содержимое файла .htaccess
что-то совсем не то делаете :)
не работает
find или shell скрипт?
покажите строки с files.txt
это похоже на содержимое файла .htaccess
что-то совсем не то делаете :)
Да, именно в htaccess нужно закомментить строчку ErrorDocument 404 на #ErrorDocument 404
Но почему-то не хочет, список в files.txt с путями до файликов htaccess составился правильно
Пример files.txt
/home/domain1.com/.htaccess
/home/domain2.com/.htaccess
содержание replace.sh
#!/bin/sh
lst=`/home/files.txt`
for d in ${lst}
do
sed -i '' -e 's/ErrorDocument/#ErrorDocument/g' ${d};
done
Запускаю так:
sh /home/replace.sh