IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Compter le nombre d'occurences dans un fichier en Powershell


Sujet :

Scripts/Batch

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Août 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2013
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Compter le nombre d'occurences dans un fichier en Powershell
    Bonjour à tous,

    Je cherche à créer un script qui me retourne le nombre d’occurrence d'une chaine dans un fichier mais je n'y parviens pas.

    Voici un descriptif de l'environnement :

    J'ai un fichier de log source.log qui contient le rapport de tous les scripts exécutés la veille. Pour chaque script exécuté, un ou plusieurs lignes est écrite indiquant : Le nom du script et son état à savoir (success) ou (failed).

    Je souhaite connaître le nombre : de succès, d'échecs et le nombre total de scripts (soit une somme des deux précédentes variables).


    Je suis parvenu à afficher les lignes dans lesquelles ma chaîne (success) apparaît :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Get-Content .\source.log| Select-String -Pattern "(success)"
    Mais pour ce qui est de compter le nbre de fois qu'elle apparaît par le biais d'une boucle, je sèche.

    Si vous voulez bien m'expliquer comment faire ça, je suis preneur.

    D'avance merci.

    Olivier.

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Salut,
    une piste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    $s=@(
    'ligne (normal) suite',
    'ligne (success) suite',
    'ligne (failed) suite'
    'ligne2 (normal) suite',
    'ligne2 (success) suite',
    'ligne2 (failed) suite'
    'ligne3 (normal) suite',
    'ligne3 success',
    'ligne4 (success) suite',
    'ligne5 Failed',
    'ligne5 (failed) suite'
    )
    $S| Select-String -Pattern "\(success\)|\(failed\)"|group -property Matches
    # 
    # Count Name                      Group
    # ----- ----                      -----
    #     3 System.Text.RegularExp... {ligne (success) suite, ligne2 (success) suite, ligne4 (success) suite}
    #     3 System.Text.RegularExp... {ligne (failed) suite, ligne2 (failed) suite, ligne5 (failed) suite
    L'usage de deux variables compteur peut être plus efficace sur les fichiers de taille importante.

Discussions similaires

  1. Compter le nombre d'occurence dans un tableau
    Par titou250 dans le forum Excel
    Réponses: 2
    Dernier message: 08/01/2008, 16h25
  2. Compter le nombre d'éléments dans un fichier texte
    Par Olivier Regnier dans le forum Langage
    Réponses: 13
    Dernier message: 21/11/2007, 16h02
  3. Compter le nombre d'occurence dans une chaine
    Par shirya dans le forum Langage
    Réponses: 2
    Dernier message: 16/10/2007, 20h39
  4. Compter le nombre de ligne dans un fichier
    Par amine_en_france dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 31/05/2007, 17h19
  5. Réponses: 2
    Dernier message: 02/03/2004, 19h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo