Записки сисадмина

  Все выпуски  

Записки сисадмина


Скрипт для вырезания куска текста из файла

  Однажды злой вирус погрыз все файлы сайта. Не совсем, а просто внедрился в несколько сотен файлов php, htm, html и так далее. Вариант восстановить файлы из бэкапа показался  слишком легким,  так появились две строчки, которые делают всю работу.

 Итак, вирус начинался с <!--c3284d--> и заканчивался <!--/c3284d-->,

При этом располагался в одной строке с <head> и завершался переносом строки \r\n

 Строчка первая

 find `pwd` -name "*.html" -print | xargs ssed -i "s/<!\-\-c3284d-->/\r\n<!\-\-c3284d-->/" --

 Обращаю внимание, что используется именно ssed, обычный sed лично мне применить не удалось. Эта строчка всего лишь добавляет символы переноса на другую строку \r\n

Ssed не умеет вырезать с середины строки, только с новой.

И вторая строчка, которая прибивает все, начиная от <!--c3284d--> до следующего переноса строки.

find `pwd` -name "*.html" -print | xargs ssed -i '/<!\-\-c3284d-->/,/$/d' --


Понятно, что эти строчки для файлов .html в текущем каталоге и ниже. 


В избранное