?xml version="1.0"?>
<system>
<machine name="web01" >
<server name="log_collect">
<processes>1</processes>
<threads>1</threads>
<options>-t1 </options>
<desc/>
</server>
<server name="dcs_fresh">
<processes>1</processes>
<threads>1</threads>
<options>-a192.168.1.1</options>
<desc/>
</server>
</machine>
<machine name="web02">
<server name="log_collect">
<processes>2</processes>
<threads>2</threads>
<options>-t2 </options>
<desc/>
</server>
<server name="dcs_fresh">
<processes>2</processes>
<threads>2</threads>
<options>-a192.168.1.2</options>
<desc/>
</server>
</machine>
BEGIN{FS="[<>\"]"}
/machine name/{a=$3}
/server name/{b=$3}
/>.*</{c=c?c" "$3:$3}
/<\/server>/{print a" "b" "c;b=0;c=0}
[sunsweet@ubuntu:~/shell/monitor]>>awk -f xml.awk xml
web01 log_collect 1 1 -t1
web01 dcs_fresh 1 1 -a192.168.1.1
web02 log_collect 2 2 -t2
web02 dcs_fresh 2 2 -a192.168.1.2