如何使用标准工具(Unix 或 Windows)确定 XML 文件中最常出现的标签?

How the determine the most frequently occuring tags in an XML file with standard tools (Unix or Windows)?

给定一个 XML 文件,我想找出其中最常出现的 XML 标签是什么。按出现次数排序的所有 XML 标签的排序列表就足够了。

是否有任何方法可以使用标准工具实现此目的,考虑 grep 和其他 Unix 工具或 Window 下的智能方法。只要有一种简单的方法 运行 XSLT 就没问题(不为其创建专用的 Java 项目)。

限制:XML 可能很大(数百兆字节)。

使用XMLStarlet获取所有标签名称,然后统一列表。

xmlstarlet sel -t -m '//*' -c "name(.)" -n input.xml | \
  sort | uniq -c | sort -rn