«перезагрузка и выбор правильного загрузочного устройства» с 16.04 по 18.04

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

perl -ne 'exit if ($start == 1 && /}/ ); if ($start == 1) {s/\s*([0-9]|\w+)(,|)/$1/g; printf "%s",$_}; $start=1 if (/'"$vovar"'/);' <your_input_file>

Объяснение

exit if ($start == 1 && /}/ ); Выход из сценария, если есть }, если VARIABLES ( vovar) передается if ($start == 1) {s/\s*([0-9]|\w+)(,|)/$1/g; printf "%s",$_} Печатается строка, если передано VARIABLES (vovar) $start=1 if (/'"$vovar"'/) Установите маркер начала, если VARIABLES (vovar) передано

Пояснение

$ vovar=VARIABLES
$ arrayvar=($(perl -ne 'exit if ($start == 1 && /}/ ); if ($start == 1) {s/\s*([0-9]|\w+)(,|)/$1/g; printf "%s",$_}; $start=1 if (/'"$vovar"'/);' foo))
$ for((i=0;i<${#arrayvar[@]};i++)); do echo "${arrayvar[i]}"; done
a9EventCode
a9ControllerNumber
a9ChannelNumber
a9TargetNumber
a9LunNumber
a9EventTimeStamp


$ cat foo
        ENTERPRISE eMylexRaidEventInformation
        VARIABLES {
            a9EventCode,
            a9ControllerNumber,
            a9ChannelNumber,
            a9TargetNumber,
            a9LunNumber,
            a9EventTimeStamp
        }
 DESCRIPTION
 "device became online."

 --#SUMMARY "[Event %d ctl %d chn %d tgt %d lun %d Time %d :] device became online."
 --#ARGUMENTS {0,1,2,3,4,5}
 --#SEVERITY INFORMATIONAL
         --#TIMEINDEX 5
 --#STATE OPERATIONAL
 ::= 1
0
задан 1 May 2018 в 18:49

0 ответов

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

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