Question Boucle sur un fichier et récup de Measure-Object

Plus d'informations
il y a 16 ans 1 mois #1951 par Thierry
Bonjour,
Je tente de faire une Boucle sur un fichier et récupérer à l'aide de Measure-Object -Word le nombre de mot de chacune des lignes afin de pouvoir créer des variables contenant ces mots.
Voici le format de mon fichier en entrée \"fichier.tmp\" :

TYPE1 TRAIT1 var1
TYPE2 TRAIT2 var1 var2 var3

J'ai essayé à l'aide de Get-Content sur le fichier d'entrée en le pipant sur Foreach-Object mais sans succès.
Merci de votre aide.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 1 mois #1953 par Thierry
J'ai un peu avancé et arrive a avoir le nombre de mots, lignes (comme WC) mais n'arrive pas a récupérer la valeur de WORD dans une variable :
[code:1]Get-Content fichier.tmp `
| ForEach-Object {
$a = Measure-Object -InputObject $_ -Word
if ($a -eq 3)
{
Write-Host \"A est egal a 3\"
}
else
{
Write-Host \"A est different de 3\"
}
}[/code:1]

Ca m'affiche toujours

A est different de 3
A est different de 3

alors que j'ai 3 mots sur la première ligne et 5 sur la seconde. Je suppose que ma variable $a ne récupère pas le compteur de mots mais la ligne complète :

Lines Words Characters Property





1
3
1
5

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 1 mois #1954 par Robin Lemesle
Je pense que la solution viens avec le Foreach-Object.

Je vais faire un test et je te tiens au courant.

Robin MVP PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 1 mois #1955 par Robin Lemesle
Il faut que tu appliques $a.words pour recupérer le nombre de mots.
Exemple :

[code:1]Get-Content fichier.tmp | ForEach-Object {$a = Measure-Object -inputObject $_ -Word;
write-host \"il y a $($a.Words) mot(s) dans cette ligne\"}[/code:1]

Voila.<br><br>Message édité par: Robin, à: 16/03/08 13:18

Robin MVP PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 1 mois #1959 par Thierry
Parfait. Merci de ton aide.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 1 mois #1962 par Robin Lemesle
De rien :)

n'hésite pas à poster tes problèmes, car c'est toute la communauté qui en profite :)

Robin MVP PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.072 secondes
Propulsé par Kunena