¿Cómo utilizar el script Shell para analizar los valores de las etiquetas en archivos XML?
$cat test.sh
#!/bin/bash
if [ -z $1 ] entonces
echo 'USO; :COMMAND FILENAME'
salida 0
fi
filename=record.txt
HOST=(`sed -n 's/ .*gt;\(.*\)lt;\/hostgt;/\1/p' $1`)
OIDG=(`sed -n 's/.*gt;\(.* \)lt;\/oidgroupnamegt;/\1/p' $1`)
COMM=(`sed -n 's/.*gt;\(.*\)lt;\/communitystringgt; /\1/p' $1`)
DESC=(`sed -n 's/.*gt;\(.*\)lt;\/descriptiongt;/\1/p' $1` )
FILE=(`ls -l $nombre de archivo gt;/dev/null 2gt;amp;1 | awk '{print $8}'`)
if [ ! $FILE ]; luego
echo -e "host\t\toidgroupname\t\tcomm\t\tdesc" gt $filename
fi
for; ((i=0; ilt; ${#HOST[@]}; i )); hacer
echo -e "${HOST[i]}\t${OIDG[i]}\ t${COMM[i]}\t\t${DESC[i]}" gt;gt;$nombre de archivo
hecho
archivo $./test.sh p> p>
$cat record.txt
host oidgroupname comm desc
192.168.1.1 CpuUtilization_MF public 192.168.1.1_CPUUtilizaton
192.168.1.2 CpuUtilization_MF public 192.168 .1.2_CPUUtilizaton
192.168.1.3 CpuUtilization_MF public 192.168.1.3_CPUUtilizaton
192.168.1.4 CpuUtilization_MF public 192.168.1.4_CPUUtilizaton
192.168.1.5 público MF 192.168.1.5 _CPUUtilización