Grep один вкладыш для удаления блоков случайного текста

Использование сценария для резервного копирования некоторых маршрутизаторов Cisco и сравнения конфигураций запуска и запуска. Мой результат поврежден некоторыми сертификатами ssl, которые он возвращает – я хочу удалить их.

Данный:

********* ERROR running diff on: AVE-1941-LAN config files Code: 0 *************** certificate self-signed 01 | certificate self-signed 01 nvram:IOS-Self-Sig#1.cer 30820253 308201BC A0030201 02020101 300D0609 2A864886 F70D0 < 31312F30 2D060355 04031326 494F532D 53656C66 2D536967 6E656 < 69666963 6174652D 33393336 35313332 3733301E 170D3131 31323 < 33355A17 0D323030 31303130 30303030 305A3031 312F302D 06035 < 4F532D53 656C662D 5369676E 65642D43 65727469 66696361 74652 < 31333237 3330819F 300D0609 2A864886 F70D0101 01050003 818D0 < 81008EE9 17E0DDA9 B9ACAEEE 788267CD 1A6E7B99 15A1797E C1AFE < 97F5E44A 7CA1E814 E329EEC3 1C6229CD 5C78C9FB F5107E23 FE386 < E7FA1849 BBA4884C 6001925E 6B2D2987 415AB429 ECDFCF87 E708D < C22F137C E5778EC0 E8F6A0FB 30A2EEF7 AB2E5E77 53F2D83B B7497 < 8A5F0203 010001A3 7B307930 0F060355 1D130101 FF040530 03010 < 551D1104 1F301D82 1B424553 2D313934 312D4176 652E796F 75726 < 2E636F6D 301F0603 551D2304 18301680 14895C79 C998FF5B 08E1A < F3866724 C4301D06 03551D0E 04160414 895C79C9 98FF5B08 E1A23 < 866724C4 300D0609 2A864886 F70D0101 04050003 81810002 DE0D3 < 4708834D C2267F49 86A62B31 A505D0F9 79BBC295 1C8DB831 39467 < 4A1F9149 DDB2ACDE CEE3DCB4 9CDAD85F 457D00BF BFBA3058 52188 < FD497E36 93C06D1D C35012B6 A61A35FC 88681759 C51F6C0A A79A9 < DB5391E9 49575BD5 50B6319E 065C2C99 4D9AB450 9D22D8 < quit 

Я хотел бы закончить.

 ********* ERROR running diff on: AVE-1941-LAN config files Code: 0 *************** certificate self-signed 01 | certificate self-signed 01 nvram:IOS-Self-Sig#1.cer quit 

Возможно ли это с помощью grep одного лайнера, возможно, с регулярным выражением?

4 Solutions collect form web for “Grep один вкладыш для удаления блоков случайного текста”

Если выход ограничен тем, что у вас есть, просто избавиться от этих нежелательных строк будет:

 grep -v '[0-9A-F]\{5\} <$' 

Чтобы удалить новые строки, я бы, вероятно, передал их в другую команду grep , так как это легко читать следующим образом:

 grep -v '[0-9A-F\{5\} <$' | grep -v '^$' 

Вы всегда можете использовать PERL или GAWK:

 $ perl -ne 'print unless /<\s*$/' input_file 

или

 $ gawk '$NF!~/</' 

Оба сценария будут печатать все строки, которые НЕ заканчиваются на «<».

Использование sed :

 sed '/<\s*$/,/^\s*$/d' 

попробуй это

 grep -v '^[0-9A-F]\{8\}' 
  • 10-я предыдущая строка из матча
  • AWK, SED или GREP для извлечения данных из файла HTML
  • solaris + fit egrep для solaris
  • Использование номеров в файле A для получения уникального идентификатора из файла B на основе порядка, указанного в файле A
  • Использовать awk, чтобы найти первое вхождение
  • Вывод `java -version` не соответствует grep или awk
  • Извлечение строки через утверждения grep regex
  • Grep огромное количество шаблонов из огромного файла
  • Выход справки Grep
  • Остановить grep после одного результата в Solaris
  • Что означает «указать несколько шаблонов поиска» на `-e` в grep?
  • Linux и Unix - лучшая ОС в мире.