2012-05-09 12 views
0

クラスタアドレス(サーバ数)が必要です。以下のXMLを参照してください。誰でも助けてくれますか?私は非常に多くのことを試みたが、私はそれを働かせることができない。xmlstarlet countカンマ区切り

クラスタアドレスのサーバーはカンマで区切ります。

<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:ドメイン/ d:クラスタ/ d:クラスタアドレス "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