1

Bash、ubuntulinux。bashでxmlstarletを使用してランダムノードを選択するにはどうすればよいですか?

4

1 に答える 1

1
xmlstarlet sel -B -t -c "//node()[$RANDOM mod last() + 1]" input.xml

-Bおそらく選択したくない空白ノードを取り除きます...


また、exslt.org で定義されているmath:random()を使用してみました:

xmlstarlet sel -N math=http://exslt.org/math -B -t --var r='math:random()' \
 -c '//node()[round($r * last()) + 1]' -n input.xml

しかし、毎回同じシードを使用しているようです。

于 2012-12-06T23:42:21.230 に答える