
tengo esto
sCSISmart1 TIPO TRAMPA ciclón empresarial VARIABLES {cycHostAdapterNumber, cycHostAdapterID, cycManagerID} DESCRIPCIÓN "El agente SNMP está activo". --#TYPE "El agente SNMP está activo". --#SUMMARY "El agente SNMP está activo" --#ARGUMENTOS {} --#SEVERIDAD INFORMATIVA --#ÍNDICE DE TIEMPO 100 --#ESTADO OPERATIVO --#AYUDA "scsismrt.hlp" --#HELPTAG 101 ::= 101
Lo que quiero hacer
Algún comando para copiar cada nombre VARIABLE
en una matriz llamadavar
Entonces la salida de arriba
eco "${var[0]}" cycHostAdapterNúmero eco "${var[1]}" cycHostAdapterID eco "${var[2]}" cycManagerID
Otro ejemplo
sCSISmart1 TIPO TRAMPA ciclón empresarial VARIABLES { nombre_celdaFechaHora, componente scellSW, código de celda, celdaCAC, scellEIP} DESCRIPCIÓN "El agente SNMP está activo". --#TYPE "El agente SNMP está activo". --#SUMMARY "El agente SNMP está activo" --#ARGUMENTOS {} --#SEVERIDAD INFORMATIVA --#ÍNDICE DE TIEMPO 100 --#ESTADO OPERATIVO --#AYUDA "scsismrt.hlp" --#HELPTAG 101 ::= 101
Salida para lo anterior
eco "${var[0]}" scellNombreFechaHora eco "${var[1]}" scellSWComponente eco "${var[2]}" código de celda eco "${var[3]}" scellCAC eco "${var[4]}" scellEIP
Otro ejemplo
sCSISmart1 TIPO TRAMPA ciclón empresarial VARIABLES { scellEIP } DESCRIPCIÓN "El agente SNMP está activo". --#TYPE "El agente SNMP está activo". --#SUMMARY "El agente SNMP está activo" --#ARGUMENTOS {} --#SEVERIDAD INFORMATIVA --#ÍNDICE DE TIEMPO 100 --#ESTADO OPERATIVO --#AYUDA "scsismrt.hlp" --#HELPTAG 101 ::= 101
Salida para lo anterior
eco "${var[0]}" scellEIP
Lo que he probado (lo único que hace es almacenar todo en prvar
)
prvar="$(awk '/VARIABLES/,/}/ {gsub("VARIABLES"," "); gsub("}"," "); gsub("{"," ");gsub("," ," ");imprimir}' temp1)"
¿Alguna idea de cómo puedo lograr esto?
Respuesta1
Si está seguro de que los nombres no tendrán espacios, elimine las comillas y utilice ( )
la sustitución del comando:
prvar=($(awk ... temp1))
El efecto:
$ prvar=( $(awk '/VARIABLES/,/}/ {gsub("VARIABLES"," "); gsub("}"," "); gsub("{"," ");gsub(","," ");print}' temp1) )
$ echo ${prvar[@]} ${#prvar[@]}
cycHostAdapterNumber cycHostAdapterID cycManagerID 3