2012-05-09 56 views
0

需要计算群集地址(服务器数量),请参阅下面的xml。谁能帮我。我尝试了很多东西,但是我无法让它工作。xmlstarlet计数逗号分隔

集群地址中的服务器之间用逗号分隔。

<name>WeblogicCluster</name> 
<multicast-address>1.1.1.1.1</multicast-address> 
<cluster-messaging-mode>unicast</cluster-messaging-mode> 
<cluster-address>server1.domain.com,server2.domain.com</cluster-address> 
<weblogic-plugin-enabled>true</weblogic-plugin-enabled> 
<frontend-host>server.domain.com</frontend-host> 

在bash中我是这样解决的,但是希望能在xmlstarlet中做到这一点,有什么想法? !

#!/bin/sh 
address="$(xmlstarlet sel -N d=http://xmlns.oracle.com/weblogic/domain -t -v "/d:domain/d:cluster/d:cluster-address" config.xml 2>/dev/null)" 
number=`echo ${address//","/" "} | wc -w` 
echo $number 
+0

#/ bin/sh的 地址= “$(xmlstarlet SEL-N d = HTTP://xmlns.oracle.com/weblogic/domain -t -v”/ d: domain/d:cluster/d:cluster-address“config.xml 2>/dev/null)” number ='echo $ address | awk -F“,”'{for(i = 1; i Rajan

回答

0

xml sel -N d=http://xmlns.oracle.com/weblogic/domain -t -v \ 
" count (str:split (/d:domain/d:cluster/d:cluster-address, ','))" \ 
config.xml