2012-12-04 10 views

回答

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

-B带空白节点,你可能不希望选择...


我也使用math:random()在exslt.org定义的尝试:

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

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