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/