Question Rempacements multiples dans un fichier

Plus d'informations
il y a 13 ans 9 mois #11987 par zemitch
Bonjour,

J'ai un fichier csv avec deux colonnes :

Old;New
mastring1;tatata1
mastring2;tatata3
mastring33;tytytyt2


J'ai un fichier texte dans lequel je dois modifier les occurences du fichier de mapping.

Comment procéder en PS?

Dans la logique je suppose que je dois lire chaque ligne du fichier de mapping et affcter \"old\" dans une variable et New dans une autre, puis pour chaque ligne lire le fichier texte et renplacer les occurences, du genre un foreach dans un foreach...

Mais je vois pas comment coder ça en PS.

Merci d'avance

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

Plus d'informations
il y a 13 ans 9 mois #11989 par SiSMik
J'ai pas compris grand chose... :silly:

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

Plus d'informations
il y a 13 ans 9 mois #11991 par Laurent Dardenne
benduru écrit:

J'ai pas compris grand chose... :silly:

Pas loin, de ce que j'ai compris il manque une exemple :
[code:1]
#fichier de mapping
Old;New
mastring1;tatata1
mastring2;tatata3
mastring33;tytytyt2

#fichier de modification du mapping
mastring1;Nouvelle_Valeur

#fichier de mapping
Old;New
mastring1;Nouvelle_Valeur
mastring2;tatata3
mastring33;tytytyt2
[/code:1]
Regarde dans le forum Contribution la fonction Replace-String.
Si elle répond au besoin, j'ajouterais l'exemple.<br><br>Message édité par: Laurent Dardenne, à: 8/06/12 20:21

Tutoriels PowerShell

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

Plus d'informations
il y a 13 ans 9 mois #11992 par zemitch
Merci pour ta réponse, mais cette fonction replace-string il faut l'importer via un module?

Pour le moment j'ai ça :

[code:1]
$Mapping = Import-Csv -Delimiter \&quot;;\&quot; Y:\Données\PowerShell\ReplaceString\mapping.csv

ForEach ($login in $Mapping ){
$OldName = $($login.old)
$NewName = $($login.new)

get-content -path Y:\Données\PowerShell\ReplaceString\Texte2Map.txt | foreach {$_ -replace $($login.old), $($login.new)} &gt;&gt; Y:\Données\PowerShell\ReplaceString\result.txt

}
[/code:1]

Mais ça ne fonctionne pas...
:)

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

Plus d'informations
il y a 13 ans 9 mois #11993 par Laurent Dardenne
Donne moi stp, le lien de la fonction que tu utilises.

Tutoriels PowerShell

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

Plus d'informations
il y a 13 ans 9 mois #11996 par zemitch
je veux dire, la fonction Replace-String, tu m'as conseillé de creuser de ce côté.
Mais \&quot;replace-string\&quot; n'existe pas.

Regarde dans le forum Contribution la fonction Replace-String.

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

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