Почему Ubuntu внезапно просит загружать память и не запускать (под Hyper V)

Вот версия sed:

sed -n 's/TRAP-TYPE//p' inp-file.txt

В примере, который вы указали, выход:

sed -n 's/TRAP-TYPE//p' inp-file.txt                                        
emuEventTrapInformative 

In ваш первоначальный вопрос, который вы запросили первый экземпляр TRAP-TYPE в файле. Если у вас более одного intance sed -n 's/TRAP-TYPE//p' | head -n1 будет делать трюк

Вот еще одна версия, которая извлекает несколько строк (на случай, если вам это нужно, когда-либо), если у вас есть несколько экземпляров TRAP-TYPE в файле.

$ awk 'BEGIN {RS="TRAP-TYPE"} NR>1{ print previous } {previous=$NF}' inp-file.txt                                                     
emuEventTrapInformative
someOtherString

Объяснение:

RS является разделителем записей. Мы делим весь текст на записи, используя TRAP-TYPE в качестве строки, затем печатаем последний элемент перед разделителем. Проблема в том, что последняя запись заканчивается фигурной скобкой. Поэтому, чтобы избежать этого, мы используем конструкцию NR>1{print previous}{previous=$NF}, чтобы мы могли игнорировать последнюю строку.

Пояснение

-- Traps
   emuEventTrapInformative TRAP-TYPE
        ENTERPRISE compaq
        VARIABLES  { scellNameDateTime,
                     shelfId,
                     shelfElementType,
                     shelfElementNum,
                     shelfErrorCode }

-- Traps
   someOtherString TRAP-TYPE
        ENTERPRISE compaq
        VARIABLES  { scellNameDateTime,
                     shelfId,
                     shelfElementType,
                     shelfElementNum,
                     shelfErrorCode }
1
задан 12 April 2018 в 11:48

0 ответов

Другие вопросы по тегам:

Похожие вопросы: