Удаление блоков текста из огромного текстового файла

Мне было поручено кое-что довольно болезненное, и мне было интересно, может ли кто-нибудь помочь.

Наш поставщик предоставил mib-файл SNMP (txt). К сожалению, очень большая часть этого файла устарела и должна быть удалена для нашего приложения для мониторинга.

Я пытался сделать это вручную, но это более 800 000 строк, и это подрывает мою волю к жизни.

Структура выглядит примерно так:

-- /*********************************************************************************/
-- /* MIB table for Hardware                                                        */
-- /* Valid from: 543.44                                                            */
-- /* Deprecated from: 600.3                                                        */
-- /*********************************************************************************/

Some text 
some text 
Some text

-- /*********************************************************************************/
-- /* MIB table for Hardware                                                        */
-- /* Valid from: 543.44                                                            */
-- /*********************************************************************************/

Some text 
some text 
Some text

-- /*********************************************************************************/
-- /* MIB table for Hardware                                                        */
-- /* Valid from: 364.44                                                            */
-- /* Deprecated from: 594.3                                                        */
-- /*********************************************************************************/

Повторяется случайным образом и до тошноты

Я думаю, это сценарий, который:

находит текст «Устарело с» then

delete that line, 
delete the preceding 3 lines, 
delete the following one line, 
delete then all following lines until the next
"-- /*********************************************************************************/"

Есть ли в этом смысл? Возможно ли такое, или я только мечтаю?

Спасибо!

6
задан Mark Wilkins 1 February 2012 в 01:00
поделиться