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

最佳答案

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

但似乎每次都用同样的种子。

关于xml - 如何在bash中使用xmlstarlet选择随机节点?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13707423/

10-12 05:45