2010-02-15 3 views
3

J'ai été chargé de vérifier la qualité d'un fichier xml de traduction automatique. Les traductions sont de l'anglais vers une langue étrangère. J'ai environ 2000 blocs de traduction dans le fichier et je dois vérifier 200 d'entre eux en ajoutant mes remarques dans le bloc inclus dans une balise < comment> avec un attribut de qualité. Y a-t-il une commande linux ou un éditeur de texte qui peut compter le nombre de tags de commentaire que j'ajoute ou juste le nombre de fois que le mot '/ comment' se produit donc je n'ai pas besoin de suivre manuellement?Comment compter combien de temps un mot se produit dans un fichier xml

Répondre

7

grep '/ comment' votrefichier.xml -o | wc -l

+0

Est-ce que 'grep' n'envoie pas de lignes entières' wc'? Et n'obtiendriez-vous pas un faux résultat si le mot se produisait plus d'une fois sur une ligne? – doub1ejack

0

votre tag dit linux, donc je suppose que vous avez * outils nix comme awk

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

Si vous savez que le </comment> ne se produit pas plus d'une fois par ligne, il suffit d'utiliser grep -c "</comment>". Exemple:

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

Cette recherche la chaîne ldap dans le fichier johnf.2010-02-12.log. La chaîne apparaît sur 103 lignes distinctes.

0

Tant que les commentaires apparaissent sur leur propre ligne, vous pouvez essayer

cat file | grep -c comment 

Le -c signifie 'count'.

+0

UUOC. 'grep -c fichier de commentaire' – ghostdog74

2

Cette feuille de style XSLT peut être exécuté sur une plate-forme et vous dira combien d'éléments commentaires il y a dans le document 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> 

Si vous ajoutez une instruction de traitement XSLT en haut du fichier XML pointe vers ce XSLT (par exemple <?xml-stylesheet href="countComments.xsl" type="text/xsl"?>), alors vous pouvez simplement charger le fichier XML dans un navigateur et voir le numéro affiché.

Questions connexes