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 de fois qu'apparaît un chaine dans un fichier [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 de fois qu'apparaît un chaine dans un fichier
    Bonjour à tous,

    Je suis débutant en PS et je rencontre un souci dans un de mes développements.
    Le script ci-dessous doit me retourner par la variable $NbError le nombre de fois qu'il retrouve la chaine de caractère (RB-Error) dans le fichier.

    Or quand j'exécute mon script, il me retourne tout le temps le chiffre 1. Même si dans mon fichier (RB-Error) y est présent 20 fois...
    Je pense comprendre que dès qu'il trouve la chaine (RB-Error) il sort de la boucle.

    Comment puis-je parvenir à récupérer le nombre exacte de fois qu'apparaît ma chaine dans mon fichier ?

    Je vous remercie par avance.

    Olivier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $NbError=0
    $monfichier="fichier_a_parcourrir.txt"
    $searchtext="(RB-Error)"
    
    foreach ($searchtext in $monfichier)
    {
        $NbError++
    }
    
    Write-Host $NbError

  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,
    pour ton code il faut déjà lire le fichier avec le cmdlet Get-Content, de plus l'opérateur in est un itérateur sur une collection et enfin il n'y a pas d'opérateur de recherche de chaîne.
    Consulte la doc du cmdlet Select-String qui te facilitera le travail et combine ce qui manque à ton code.

  3. #3
    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 Solution
    Bonjour,

    Après une bonne prise de tête Je poste la solution que j'ai trouvé pour répondre à mon besoin.
    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
    # Initialisation des variables :
    
    $NbError=0  
    
    $monfichier="fichier_a_parcourrir.txt"
    
    $searchError="\(RB-Error\)"    # Chaîne de caractère à rechercher.
    
    
    
    # Début du script :
        
    $test= get-content $monfichier | sls -CaseSensitive $searchError     # Filtre le fichier et retourne toutes les lignes où l’occurrence apparaît.
    
    foreach ($searchError in $test)    # La boucle permet de compter le nbre de fois qu'apparaît cette chaîne parmi la sélection.
    {
        $NbError++
    }
    
    Write-Host "Nbre de fois qu'apparaît $searchError  : $NbError"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/01/2012, 22h44
  2. [SimpleXML] Compter le nombre de fois ou une balise apparait dans un fichier xml.
    Par Krabbos dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 07/06/2011, 12h20
  3. Réponses: 2
    Dernier message: 22/01/2009, 10h12
  4. Réponses: 4
    Dernier message: 06/12/2007, 16h46
  5. Réponses: 16
    Dernier message: 14/09/2006, 06h43

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