如何计算xml文件中单词出现的次数

时间:2010-02-15 15:06:14

标签: xml linux text text-editor

我被赋予了对机器翻译xml文件进行质量检查的任务。翻译是从英语到外语。我在文件中有大约2000个翻译块,我必须通过在<中包含的块中添加我的备注来检查其中的200个。评论>标签具有质量属性。是否有一个linux命令或一些文本编辑器可以计算我添加的注释标签的数量,或者只是'/ comment'这个词发生的时间,所以我不必手动跟踪?

5 个答案:

答案 0 :(得分:8)

grep'/ comment'yourfile.xml -o | wc -l <​​/ p>

答案 1 :(得分:2)

这个XSLT样式表可以在任何平台上运行,并告诉你XML文档中有多少个注释元素:

<?xml version="1.0" encoding="UTF-8"?>
  <xsl:stylesheet
   version="1.0"
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="text" encoding="UTF-8" omit-xml-declaration="yes"/>
  <xsl:template match="/">
    <xsl:value-of select="count(//comment)"/>
  </xsl:template>
</xsl:stylesheet>

如果在XML文件的顶部添加指向此XSLT的XSLT处理指令(例如<?xml-stylesheet href="countComments.xsl" type="text/xsl"?>),那么您只需在浏览器中加载XML文件并查看显示的数字。

答案 2 :(得分:0)

你的标签是linux,所以我假设你有像awk这样的* nix工具

awk '{for(i=1;i<=NF;i++){if($i=="/comment"){++c} } }END{print "total: "c}' xmlfile

答案 3 :(得分:0)

如果您知道</comment>每行不会出现多次,请使用grep -c "</comment>"。例如:

[~/.logs]> grep -c ldap johnf.2010-02-12.log
103

这将在文件ldap中搜索字符串johnf.2010-02-12.log。该字符串出现在103个不同的行上。

答案 4 :(得分:0)

只要评论出现在他们自己的行上,您就可以尝试

cat file | grep -c comment

-c代表'count'。