Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование в *nix (http://forum.oszone.net/forumdisplay.php?f=35)
-   -   [решено] Скриптовая обработка файлов (http://forum.oszone.net/showthread.php?t=89202)

dmon_s 27-08-2007 13:56 633643

Скриптовая обработка файлов
 
Здраствуйте, товарищи.
Такая проблема - есть много (~700) *.html файлов, которые внутри себя содержат примерно такую строчку
Код:

<OBJECT type="application/x-oleobject"CLASSID="CLSID:C8421951-09AF-FE7A-3F4A-94CBB82F12EC"></OBJECT>
Именно на нее ругается nod32 при открытии файла, мол в нем вирус allaple.gen. CLASSID в разных файлах разный.
Мне нужно написать скрипт, который удалит эту строку из файлов.
У меня уже есть следующее:
Код:

find . -name \*.htm? -exec vi {} -c'/<OBJECT type="application\/x-oleobject"CLASSID="CLSID' -c'dd \; :wq'
Т.е. комманда find ищет нужные файлы и передает их на обработку в vi. Далее vi ищет нущною строку, удаляет ее ('dd') и сохраняет файл (:wq)
только одно но:
Код:

E492: Это не команда редактора: dd \; :wq
Если во второй комманде поставить просто :wq - то работает. Но мне же нужно удалить строчку!
Подстажите, как правильно написать.

ruslandh 28-08-2007 00:23 633930

А sed не подойдёт ?

dmon_s 30-08-2007 12:32 635568

Цитата:

Цитата ruslandh
А sed не подойдёт ?

Подойдет, только в нем еще одуплится надо. Просто я не знал о его существовании. Спасибо

dmon_s 31-08-2007 02:11 636046

Раздуплился. Команда
Код:

find . -name \*.htm* -exec sed -i '/<OBJECT/d' {} \;
решила все мои проблемы. Тема закрыта.


Время: 16:36.

Время: 16:36.
© OSzone.net 2001-