У меня есть эта команда
Здесь
vovar=OBJECTS prvar="$(awk '/'"$vovar"'/,/}/ {gsub("$vovar"," "); gsub("}",": %s,"); gsub("{"," ");gsub(",",": %s,");print}' temp1)"
Содержание temp1
ciscoFlashCopyCompletionTrap NOTIFICATION-TYPE OBJECTS { ciscoFlashCopyStatus } STATUS current DESCRIPTION "A ciscoFlashCopyCompletionTrap is sent at the completion of a flash copy operation if such a trap was requested when the operation was initiated. " ::= { ciscoFlashMIBTraps 1 }
Что я хочу, чтобы команда сделала
ciscoFlashCopyStatus : %s: %s,
Что это на самом деле делает
OBJECTS ciscoFlashCopyStatus : %s: %s,
Как я могу изменить свою команду awk так, чтобы я мог получить то, что я хочу?
Вы использовали vovar
внешние одинарные кавычки впервые, но не во второй раз:
... awk '/'"$vovar"'/,/}/ {gsub("$vovar"," ") ...
, Если Вы были последовательны:
$ awk '/'"$vovar"'/,/}/ {gsub("'"$vovar"'"," "); gsub("}",": %s,"); gsub("{"," ");gsub(",",": %s,");print}' foo
ciscoFlashCopyStatus
: %s: %s,