文字列からすべての数字を取得して追加するには?

文字列からすべての数字を取得して追加するには?

一部のソフトウェアでtestSuiteを実行した結果を要約するには、生成された.xmlファイルを解析する必要があります。たとえば、私の行の1つから:

<Summary failed="10" notExecuted="0" timeout="0" pass="18065" />

これは、失敗したテスト、実行されていないテスト、通過したテストの数を示します。テストスイートにいくつのテストがあるかを計算する必要があるため、上記の場合は10 + 0 + 18065 = 18075を追加する必要があります。

Bashでこれを行うにはどうすればよいですか?

ベストアンサー1

あなたはそれを使用することができますxmlstarlet正しいXML解析のために。

あなたの質問について:

total=0; \
for i in failed notExecuted pass; do \
    sum=`xmlstarlet sel -t -v "//Summary/@$i" test.xml`; \
    total=$(($sum + $total)); \
done; \
echo "Total=$total"

test.xmlxmlデータを含むファイルはどこにありますか?

おすすめ記事