1

重击,ubuntu linux。如何在 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 回答