Powershell - Parse fichier

Signaler
Messages postés
57
Date d'inscription
vendredi 2 juin 2006
Statut
Membre
Dernière intervention
6 juin 2021
-
Messages postés
57
Date d'inscription
vendredi 2 juin 2006
Statut
Membre
Dernière intervention
6 juin 2021
-
Bonjour,

J'ai une petite question toute bête :) . Comment fait-on en powershell pour parser le contenu d'un fichier ? Une sorte de "get-content LeFichier.txt | lacommandemagique" pour sortir un fichier parsé ?

Et par exemple sur un fichier qui contient :
bidule_machin_chouette

Ca donnerait en sortie juste "machin" (en utilisant le séparateur "_").

En shell Linux, il s'agirait de l'équivalent d'un truc comme awk -F "_" '{print $2}' LeFichier.txt .

Je teste des trucs trouvés sur le net, mais ce n'est pas terrible.

Merci à vous :)


Configuration: Windows / Chrome 91.0.4472.77

2 réponses

Messages postés
32948
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 juin 2021
3 557
Bonjour,
Pour couper une chaine, tu peux regarder du côté de la fonction split

$Inputstring ="Microsoft-SQL-Server"
$CharArray =$InputString.Split("-")
$CharArray

Messages postés
57
Date d'inscription
vendredi 2 juin 2006
Statut
Membre
Dernière intervention
6 juin 2021
1
Merci, mais ça donne :
Microsoft
SQL
Server

Et mon objectif serait plutôt d'avoir une sortie qui respecte le format de départ alors que là il y a une nouvelle ligne pour chaque nouveau champ.

Par exemple :

Fichier d'entrée :
Microsoft-SQL-Server
Microsoft-MACHIN-Server
Microsoft-Chouette-Server

Et en sortie :
SQL
MACHIN
Chouette

Un parse qui ne reprend bien que les éléments voulus et en respectant les lignes du fichier d'entrée :)