2012-05-09 131 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