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 :

Select-string Simple


Sujet :

Scripts/Batch

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2015
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Select-string Simple
    Salut à tous,


    je cherche depuis un petit moment comment retourner une chaîne de caractère que je dois trouver avec select string.


    en gros jai un fichier texte avec plein de chose dedans et j'ai des id de connexion commençant par ID.txxxxx et je veux chercher les "mot commençant par "ID.*****" avec 5 chiffres après

    j'arrive déjà a trouver toutes les ligne contenant cela sauf que j'arrive pas a n'afficher que cela et le mettre dans une variable


    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
     Get-Content log.txt | Select-String "ID.t*******" -casesensitive

    du coup ça m'affiche toute la ligne hors je veux juste savoir ce à quoi correspond les étoiles


    merci d'avance

  2. #2
    Membre habitué
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2015
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2015
    Messages : 66
    Points : 126
    Points
    126
    Par défaut
    En fait il faut être plus précis avec regex pour isoler le texte qui t'intéresse.

    Exemple:

    Nous avons ici une ligne avec du texte, suivi de ce qui nous intéresse, suivi de texte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $a = "ABC ID.t1234567 DEF"
    $a -match 'ID\.t.{7}' | Out-Null; $matches[0]
    Le regex peut être interprété ainsi:
    Lettres I et D suivies du point (\., qui veut dire littéralement un point, car '.' veut dire n'importe quel caractère) et d'un t. Ensuite n'importe quelle caractère('.'), sept fois {7}

    Résultat:

    ID.t1234567

    Cool, maintenant, on va adapter tout ceci à ton code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $resultat = Get-Content log.txt | Select-String "ID\.t.{7}" -casesensitive | foreach{$_.Matches.value}
    Nous allons nous appuyer sur Select-String, mais travailler sur le résultat, et pour chaque élément nous allons chercher l'attribut matches et surtout sa valeur.

    Le résultat sera un array avec toutes les instances recherchées:
    ID.t1234567

    Si tu ne veux que le contenu après ID.t, il faut aller un peu plus loin, on va utiliser une capture (entre parenthèse dans le regex), et aller cherche la valeur dans une propriété appelée groups:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $resultat = Get-Content log.txt | Select-String "ID\.t(.{7})" -casesensitive | foreach{$_.Matches.groups[1].value}
    1234567

    PS. Ceci est valable s'il n'y a qu'une instance de ce que tu recherches par ligne.

Discussions similaires

  1. Aide pour requête SELECT relativement simple.
    Par Ambuletz dans le forum Requêtes
    Réponses: 14
    Dernier message: 02/03/2010, 10h27
  2. select tout simple
    Par arnobidul dans le forum JPA
    Réponses: 12
    Dernier message: 25/05/2009, 14h16
  3. select tout simple
    Par arnobidul dans le forum GWT et Vaadin
    Réponses: 8
    Dernier message: 25/05/2009, 14h16
  4. un select tout simple
    Par cladsam dans le forum Langage SQL
    Réponses: 4
    Dernier message: 31/10/2007, 14h53

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