
ich habe das
sCSISmart1 TRAP-TYP ENTERPRISE Zyklon VARIABLEN {cycHostAdapterNumber, cycHostAdapterID, cycManagerID} BESCHREIBUNG „SNMP-Agent ist aktiv.“ --#TYPE „SNMP-Agent ist aktiv.“ --#SUMMARY „SNMP-Agent ist aktiv“ --#ARGUMENTE {} --#SCHWEREGRAD INFORMATION --#ZEITINDEX 100 --#STATUS OPERATIONELL --#HELP "scsismrt.hlp" --#HELPTAG 101 ::= 101
Was ich machen will; was ich vorhabe zu tun
Ein Befehl zum Kopieren jedes Namens VARIABLE
in ein Array namensvar
Also Ausgabe von oben
echo "${var[0]}" cycHostAdapterNumber echo "${var[1]}" cycHostAdapterID echo "${var[2]}" cycManagerID
Ein anderes Beispiel
sCSISmart1 TRAP-TYP ENTERPRISE Zyklon VARIABLEN { scellNameDatum/Uhrzeit, scellSW-Komponente, scellECode, scellCAC, scellEIP} BESCHREIBUNG „SNMP-Agent ist aktiv.“ --#TYPE „SNMP-Agent ist aktiv.“ --#SUMMARY „SNMP-Agent ist aktiv“ --#ARGUMENTE {} --#SCHWEREGRAD INFORMATION --#ZEITINDEX 100 --#STATUS OPERATIONELL --#HELP "scsismrt.hlp" --#HELPTAG 101 ::= 101
Ausgabe für das obige
echo "${var[0]}" ZellnameDatumUhrzeit echo "${var[1]}" scellSW-Komponente echo "${var[2]}" scellECode echo "${var[3]}" scellCAC echo "${var[4]}" scellEIP
Ein anderes Beispiel
sCSISmart1 TRAP-TYP ENTERPRISE Zyklon VARIABLEN { scellEIP } BESCHREIBUNG „SNMP-Agent ist aktiv.“ --#TYPE „SNMP-Agent ist aktiv.“ --#SUMMARY „SNMP-Agent ist aktiv“ --#ARGUMENTE {} --#SCHWEREGRAD INFORMATION --#ZEITINDEX 100 --#STATUS OPERATIONELL --#HELP "scsismrt.hlp" --#HELPTAG 101 ::= 101
Ausgabe für das obige
echo "${var[0]}" scellEIP
Was ich versucht habe (das speichert lediglich alles in prvar
):
prvar="$(awk '/VARIABLEN/,/}/ {gsub("VARIABLEN"," "); gsub("}"," "); gsub("{"," ");gsub(","," ");print}' temp1)"
Irgendwelche Ideen, wie ich das erreichen kann?
Antwort1
Wenn Sie sicher sind, dass die Namen keine Leerzeichen enthalten, entfernen Sie die Anführungszeichen und verwenden Sie ( )
die Befehlsersetzung:
prvar=($(awk ... temp1))
Der Effekt:
$ prvar=( $(awk '/VARIABLES/,/}/ {gsub("VARIABLES"," "); gsub("}"," "); gsub("{"," ");gsub(","," ");print}' temp1) )
$ echo ${prvar[@]} ${#prvar[@]}
cycHostAdapterNumber cycHostAdapterID cycManagerID 3