Скрипт для вырезания куска текста из файла
Однажды злой вирус погрыз все файлы сайта. Не совсем, а просто внедрился в несколько сотен файлов 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 в текущем каталоге и ниже.
|