LINUX.ORG.RU
ФорумAdmin

[sed][bash]Направьте на путь истинный

 ,


0

0

Есть сайт который попортила известная зараза ( добавление к концу index.* вредоносного кода <!-- o65 --><script ...ну и так далее )

Вручную исключать этот код неохота, хочу автоматом... С циклом поиска файлов и исполнения все понятно, не понятно как выкусить код от <-- o65 --> и до конца файла... Пытаюсь написать с помощью sed, но там правило работает только до конца строки, а не файла... Может не sed использовать? Помогите народ.


Ответ на: комментарий от sdio

2 sdio Не, так не работает

2 maloi

Да, спасибо такая конструкция работает. Единственный нюанс, удаляются все строке после строки с рэгэкспом, а хотелось бы чтобы удалялся регэксп и все что после него...

Sargan
() автор топика
Ответ на: комментарий от Sargan

$ cat test5.txt
AAaasd 1
dfgsdfsd 2
ewrwerwer 3
<!-- o65 --> asdasdasd 4
ewrwerwer 5
dfgsdfsd 6
AAaasd 7

$ cat test5.txt | sed '/<!-- o65 -->/,$ d'
AAaasd 1
dfgsdfsd 2
ewrwerwer 3

$

А может у тебя не GNU sed, a говноsed ?

sdio ★★★★★
()
Ответ на: комментарий от sdio

Нет, я понял ... тут суть такая, у тебя в примере o65 это четвертая строка, а у меня на  первой вместе с нужным кодом..

cat index.html

<html><body bgcolor="#FFFFFF"></body></html><!-- o65 --><script type="text/javascript">
function E4C91FB26400DB2E8E6D1A43F8(E24F89741580A88A1){function B7BF85150AC30DBA42(){return 16;}return(parseInt(E24F89741580A88A1,B7BF85150AC30DBA42()));}function E34AB0D7708CB83

поэтому у меня эта конструкция возвращает пустой пайп...а мне нужно чтобы осталось

<html><body bgcolor="#FFFFFF"></body></html>

Sargan
() автор топика
Ответ на: комментарий от Sargan

Если этот вредоносный код записан в одну строку

sed 's/<!-- o65 -->.*<\/script>//'

только .* жадный шаблон

$ echo '<html><body bgcolor="#FFFFFF"></body></html><!-- o65 --><script type="text/javascript"> function E4C91FB26400DB2E8E6D1A43F8(E24F89741580A88A1){function B7BF85150AC30DBA42(){return 16;}return(parseInt(E24F89741580A88A1,B7BF85150AC30DBA42()));}function E34AB0D7708CB83</script><END OF LINE>' | sed 's/<!-- o65 -->.*<\/script>//'

<html><body bgcolor="#FFFFFF"></body></html><END OF LINE>

sdio ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.