如何在bash中用xmlstarlet选择随机节点?

时间:2012-12-04 16:30:42

标签: xml linux bash xmlstarlet

Bash,ubuntu linux。 如何在bash中用xmlstarlet选择随机节点?

1 个答案:

答案 0 :(得分: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

但它似乎每次都使用相同的种子。