Question
[Résolu] Rechercher un mot plutôt qu'une chaine
- Christophe
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 6
- Remerciements reçus 0
il y a 10 ans 11 mois #19447
par Christophe
[Résolu] Rechercher un mot plutôt qu'une chaine a été créé par Christophe
Bonjour à tous,
Après avoir pas mal chercher une solution, je viens vers vous :
Dans un fichier TXT (2 valeurs par lignes $Username;$groupeAd), je recherche les lignes où il y a par exemple l'utilisateur \"pond\" mais la requete retourne également les lignes où il y a l'utilisateur \"Dupond\"
[code:1]$Username = \"pond\"
get-content $chemin_fichier_TXT | select-string -pattern $Username
[/code:1]
Est-ce qu'il y une syntaxe qui permette de rechercher un mot plutôt qu'une chaine de caractéres ???
Merci à Tous
Kristof36<br><br>Message édité par: Arnaud, à: 8/04/15 09:22
Après avoir pas mal chercher une solution, je viens vers vous :
Dans un fichier TXT (2 valeurs par lignes $Username;$groupeAd), je recherche les lignes où il y a par exemple l'utilisateur \"pond\" mais la requete retourne également les lignes où il y a l'utilisateur \"Dupond\"
[code:1]$Username = \"pond\"
get-content $chemin_fichier_TXT | select-string -pattern $Username
[/code:1]
Est-ce qu'il y une syntaxe qui permette de rechercher un mot plutôt qu'une chaine de caractéres ???
Merci à Tous
Kristof36<br><br>Message édité par: Arnaud, à: 8/04/15 09:22
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 10 ans 11 mois #19448
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Rechercher un mot plutôt qu'une chaine
Salut,
cela dépend de la construction de ta ligne :
[code:1]
@'
Username;Groupe
JamesPond;groupeAdPond
Dupond;groupeAdPond
pondre;Pond
pond;groupeAdPond
De pond;Pond
de ponde;DuPond
'@ > c:\temp\t.csv
gc c:\temp\t.csv| Where {$_ -match '^Pond;'}
Get-content c:\temp\t.csv| select-string -pattern '^Pond;'|foreach {$_.Line}
$Username='Pond'
get-content c:\temp\t.csv| select-string -pattern \"^${Username};\"|foreach {$_.Line}
#ou \"^${Username};\"
#^ : début de la chaîne de caractères
#${Username} : nom recherché
\"; : nom recherché est suivi d'un point virgule
[/code:1]
Si tu changes la structure le code est à modifier.
Si tu utilises Import-csv, tu testes uniquement sur le champ Username et pas sur l'intégralité de la chaîne de caractères. Cela simplifie les choses, mais on reste tjrs dépendant de la construction.
cela dépend de la construction de ta ligne :
[code:1]
@'
Username;Groupe
JamesPond;groupeAdPond
Dupond;groupeAdPond
pondre;Pond
pond;groupeAdPond
De pond;Pond
de ponde;DuPond
'@ > c:\temp\t.csv
gc c:\temp\t.csv| Where {$_ -match '^Pond;'}
Get-content c:\temp\t.csv| select-string -pattern '^Pond;'|foreach {$_.Line}
$Username='Pond'
get-content c:\temp\t.csv| select-string -pattern \"^${Username};\"|foreach {$_.Line}
#ou \"^${Username};\"
#^ : début de la chaîne de caractères
#${Username} : nom recherché
\"; : nom recherché est suivi d'un point virgule
[/code:1]
Si tu changes la structure le code est à modifier.
Si tu utilises Import-csv, tu testes uniquement sur le champ Username et pas sur l'intégralité de la chaîne de caractères. Cela simplifie les choses, mais on reste tjrs dépendant de la construction.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Christophe
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 6
- Remerciements reçus 0
il y a 10 ans 11 mois #19450
par Christophe
Réponse de Christophe sur le sujet [résolu] Rechercher un mot plutôt qu'une chaine
Bonjour Laurent,
Merci pour ta réponse, ça marche impeccable.
J'ai adapté le fichier CSV pour que sa construction soit conforme.
Je n'avais pas pensé à tenir compte du caratères de séparation de champs \";\"
Je peux poursuivre mes migrations...
Christophe
Merci pour ta réponse, ça marche impeccable.
J'ai adapté le fichier CSV pour que sa construction soit conforme.
Je n'avais pas pensé à tenir compte du caratères de séparation de champs \";\"
Je peux poursuivre mes migrations...
Christophe
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.041 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [Résolu] Rechercher un mot plutôt qu'une chaine