2010-02-15 107 views
3

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

回答

7

grep'/ comment'yourfile.xml -o |厕所-l

+0

不'grep'发送'wc'整行?如果这个词出现在一行上不止一次,你会不会得到一个错误的结果? – doub1ejack 2014-10-07 20:47:05

0

您的标签上是Linux操作系统,所以我假设你有* nix的工具,如awk

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

如果您知道</comment>不会出现超过每行一次,只需使用grep -c "</comment>"。例如:

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

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

0

只要评论出现在自己的路线,你可以尝试

cat file | grep -c comment 

的-c表示“计数”。

+0

UUOC。 'grep -c注释文件' – ghostdog74 2010-02-15 15:22:20

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文件并查看显示的数字。

相关问题