URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 9615
[ Назад ]

Исходное сообщение
"помогите с sed"

Отправлено Игорь , 26-Дек-12 08:59 
Привет.

Помогите плиз. решить следующую задачу...
есть файл, точнее очень большая куча файлов, в каждый файл записали кусок кода, код может начинаться с новой строки но не факт. Необходимо удалить весь "вирусный"  :) код от первого вхождения до конца файла, включая первое вхождение. Пришел к такой формуле:

find . -name '*.js' -exec sed -ibak 's/\;document.write.*$//g' {} \;

но сволоч не удаляет до конца файла. Что не так?


Содержание

Сообщения в этом обсуждении
"помогите с sed"
Отправлено Bosh , 26-Дек-12 18:34 
sed -r '/\;document.write.*/,/^\W\n\s\r.*$/ {/^.*$/d}'


> Привет.
> Помогите плиз. решить следующую задачу...
> есть файл, точнее очень большая куча файлов, в каждый файл записали кусок
> кода, код может начинаться с новой строки но не факт. Необходимо
> удалить весь "вирусный"  :) код от первого вхождения до конца
> файла, включая первое вхождение. Пришел к такой формуле:
> find . -name '*.js' -exec sed -ibak 's/\;document.write.*$//g' {} \;
> но сволоч не удаляет до конца файла. Что не так?


"помогите с sed"
Отправлено Bosh , 26-Дек-12 18:36 
sed -r '/\;document.write.*/,/^\n.*$/ {/^.*$/d}'

так проще )

> sed -r '/\;document.write.*/,/^\W\n\s\r.*$/ {/^.*$/d}'
>> Привет.
>> Помогите плиз. решить следующую задачу...
>> есть файл, точнее очень большая куча файлов, в каждый файл записали кусок
>> кода, код может начинаться с новой строки но не факт. Необходимо
>> удалить весь "вирусный"  :) код от первого вхождения до конца
>> файла, включая первое вхождение. Пришел к такой формуле:
>> find . -name '*.js' -exec sed -ibak 's/\;document.write.*$//g' {} \;
>> но сволоч не удаляет до конца файла. Что не так?


"помогите с sed"
Отправлено Игорь , 11-Янв-13 12:08 
> sed -r '/\;document.write.*/,/^\n.*$/ {/^.*$/d}'
>  так проще )

грохает всю строку
);;document.write('<iframe style=".......

по идее надо оставить ");"

сделал все на perl, sed так и не осилил :(


"помогите с sed"
Отправлено Ant0 , 14-Янв-13 12:58 
Например так:
cat file|sed -n 's/;document.write.*//p;tx;p;b;:x;n;bx'

Сойдет? :)