Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3019 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [Batch] Script de comptage du nombre d'occurrences dans un fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Batch] Script de comptage du nombre d'occurrences dans un fichier

n°2052535
Faks
Posté le 28-01-2011 à 01:07:30  profilanswer
 

Bonjour à tous,
 
Je souhaiterais développer un script batch avec des commande DOS me permettant de compter le nombre d'occurrences d'une chaîne de caractères dans un fichier.  
Le script prend donc en entrée 2 paramètres : la chaîne de caractères à compter et le nom du fichier traité. Il renvoie le nombre d'occurrences de la chaîne de caractères présentes dans le fichier.  
 
Exemple :  
Chaîne de caractères à compter : abc
Fichier toto.txt composé des 3 lignes suivantes :
djlkzefabcfz lzeù flmezfel*ezmf abcfjkrlef jlrem
rfkjeklr fabcfrkfrl mfk
ekzljf jfkezmlr  
 
Le script doit donc renvoyer la valeur 3.
 
Après avoir effectué quelques tentatives, je me tourne vers les experts du forum pour m'aider.  
J'ai essayé d'utiliser la commande FINDSTR mais en vain...
 
Merci par avance pour vos réponses.  
 
 

mood
Publicité
Posté le 28-01-2011 à 01:07:30  profilanswer
 

n°2052538
Xspawn_Lpc
Posté le 28-01-2011 à 01:32:16  profilanswer
 

batch ou command s'em.... à essayer de faire quelque chose qui est hors de son scope.
 
Il vaut mieux envisager du vbs ou autre pour cela ;)


---------------
Quand on aime on ne compte pas. Quel Dilemme lorsque l'on aime compter !
n°2052539
Faks
Posté le 28-01-2011 à 01:54:27  profilanswer
 

Merci pour ta réactivité, mais j'ai une contrainte et ne peux pas me permettre d'utiliser autre chose qu'un script batch.  
Je reconnais que ce n'est pas le plus malin, mais je n'ai pas le choix...
 
Sinon, j'ai réussi à compter le nombre de fichier comprenant une chaîne de caractères via un batch. Donc j'imagine que cela doit être faisable via les tokens, et le FIND.
 
Avis aux amateurs.

n°2052785
Xspawn_Lpc
Posté le 28-01-2011 à 20:18:21  profilanswer
 

Vraiment dommage pour le vbs en 5lignes c'était torché.
 
Quelques contraintes supplémentaires du batch et dos : find et findstr travaillent sur des lignes de fichier texte
 
donc dès qu'une ligne contient plusieurs fois la chaine t'es marron, et si la chaine est répartie sur 2 ligne ca ne fonctionnera pas non plus
 

Citation :

zefa
bc
fz lze


 
have fun ;)


Message édité par Xspawn_Lpc le 28-01-2011 à 20:18:36

---------------
Quand on aime on ne compte pas. Quel Dilemme lorsque l'on aime compter !
n°2052950
Faks
Posté le 29-01-2011 à 23:59:13  profilanswer
 

En 5 lignes, ça peut m'intéresser finalement... même si je ne connais pas du tout le langage.  
Le fichier qui doit être traité comprend des millions de lignes (c'est un fichier XML qui peut atteindre 1,5Go...). A voir si cela gère une telle volumétrie. Si tu as un code tout prêt, je suis preneur et je me renseignerai comment compiler et exécuter du VBS...

n°2052951
Faks
Posté le 30-01-2011 à 00:00:30  profilanswer
 

pour mon cas, il n'est pas possible que la chaine de caractères soit présente plus d'une fois sur une même ligne ou qu'elle soit répartie sur 2 lignes comme dans ton exemple xspawn_lpc

n°2053406
Xspawn_Lpc
Posté le 01-02-2011 à 13:28:55  profilanswer
 

pour executer un vbs, pas besoin d'essayer de trouver un outil pour le compiler.
 
Juste lancer cscript.exe nom_du_script.vbs, éventuellement depuis un fichier cmd.
 
Par contre je ne fournis pas le script. a toi de regarder un peu sur le net qui regorge d'exemples ( procédure pour lire un fichier et parcourir les lignes, fonction pour remplacer une chaine de caractères)
 
+


---------------
Quand on aime on ne compte pas. Quel Dilemme lorsque l'on aime compter !
n°2054902
Faks
Posté le 07-02-2011 à 18:45:26  profilanswer
 

Merci pour les infos. Le sujet peut être clos.  
La réponse à la question initiale est : Changer de langage de programmation !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [Batch] Script de comptage du nombre d'occurrences dans un fichier

 

Sujets relatifs
Script ou programme pour automatiser la gestion de mon sitescript pour ajouter un groupe global dans un autre groupe global
Emuler un SGBD avec un script shell! (Résolu)Bash - curl - Upload fichier via http
[PHP]Envoyer une fichier à un utilisateur sans lui donner l'adresseScript PHP d'un éditeur de RPG
[PHP] fournir un fichier hors document rootBatch Perl Replace
script php affichage photo[Batch] Optimisation de mon scripte
Plus de sujets relatifs à : [Batch] Script de comptage du nombre d'occurrences dans un fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR