- forum
- PowerShell
- Entraide pour les débutants
- Script pour trier un fichier texte en fonction d'un caractère
Question
Script pour trier un fichier texte en fonction d'un caractère
- Muther
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 5
- Remerciements reçus 0
il y a 1 an 8 mois #32183
par Muther
Bonjour le forum,
Je débute en Powershell et je bute sur un problème : écrire un script PS qui prend en entrée un fichier texte (exemple: input.txt) et qui donne en sortie deux fichiers texte : fic_a.txt et fic_b.txt
Le script parse ligne par ligne le fichier input.txt, pour cela j'utilise Get-Content et Foreach :
$file = Get-Content "D:\input.txt"
Foreach ($line in $file)
{
...
}
Le tri doit se faire sur le 33ième caractère de chaque ligne, si la valeur du 33ième caractère est 1 je copie la ligne dans un fichier disons fic_a.txt et si le caractère est différent de 1 je copie la ligne dans fic_b.txt
Je sèche et donc si vous avez des idées sur la méthode ce serai top !
Merci de m'avoir lu ;o)
Je débute en Powershell et je bute sur un problème : écrire un script PS qui prend en entrée un fichier texte (exemple: input.txt) et qui donne en sortie deux fichiers texte : fic_a.txt et fic_b.txt
Le script parse ligne par ligne le fichier input.txt, pour cela j'utilise Get-Content et Foreach :
$file = Get-Content "D:\input.txt"
Foreach ($line in $file)
{
...
}
Le tri doit se faire sur le 33ième caractère de chaque ligne, si la valeur du 33ième caractère est 1 je copie la ligne dans un fichier disons fic_a.txt et si le caractère est différent de 1 je copie la ligne dans fic_b.txt
Je sèche et donc si vous avez des idées sur la méthode ce serai top !
Merci de m'avoir lu ;o)
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 1 an 7 mois #32188
par Philippe
Réponse de Philippe sur le sujet Script pour trier un fichier texte en fonction d'un caractère
salut Muther
tel que tu nous le présente ton tri peut se faire avec un if,
comme chaque ligne est un e chaine de caractère, tu peux avoir accès à un caractère avec les crochet "line [32]" (pourquoi 32 parce que l'on compte a partir de zero dans un tableau !)
le "-eq" veut dire " égale à "
donc dans le if soit c'est egale à 1 soit non (le else)
le "+ "`n"" pour avoir des saut de ligne pour chaque ligne des nouveaux fichiers
voila !
bon scripting
tel que tu nous le présente ton tri peut se faire avec un if,
comme chaque ligne est un e chaine de caractère, tu peux avoir accès à un caractère avec les crochet "line [32]" (pourquoi 32 parce que l'on compte a partir de zero dans un tableau !)
le "-eq" veut dire " égale à "
donc dans le if soit c'est egale à 1 soit non (le else)
le "+ "`n"" pour avoir des saut de ligne pour chaque ligne des nouveaux fichiers
voila !
$file = Get-Content "D:\input.txt"
$fic_a = ""
$fic_b = ""
Foreach ($line in $file) {
if ($line[32] -eq "1") {
$fic_a += $line + "`n"
}
else {
$fic_b += $line + "`n"
}
}
$fic_a | Set-Content "D:\fic_a.txt"
$fic_b | Set-Content "D:\fic_b.txt"
bon scripting
Connexion ou Créer un compte pour participer à la conversation.
- Muther
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 5
- Remerciements reçus 0
il y a 1 an 7 mois #32194
par Muther
Réponse de Muther sur le sujet Script pour trier un fichier texte en fonction d'un caractère
Bonjour et merci pour ton aide,
J'ai testé et c'est Ok, je ne connaissais pas cette façon d'alimenter un fichier avec += ainsi que la commande Set-Content.
Le sujet peut être fermé.
J'ai testé et c'est Ok, je ne connaissais pas cette façon d'alimenter un fichier avec += ainsi que la commande Set-Content.
Le sujet peut être fermé.
Connexion ou Créer un compte pour participer à la conversation.
- forum
- PowerShell
- Entraide pour les débutants
- Script pour trier un fichier texte en fonction d'un caractère
Temps de génération de la page : 0.063 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Script pour trier un fichier texte en fonction d'un caractère