Question Ajout d'un caractère en fin de ligne

Plus d'informations
il y a 16 ans 3 mois #5708 par Laurent Dardenne
Seals écrit:

J'ai bien les valeur 0x0D 0x0A à la fin de mon fichier.

Notre erreur ici est de considérer que le CR-LF est tjr présent dans la variable une fois la lecture effectuée.
Comme le dit Arnaud si on considére le fichier comme une suite d'octets on pourrait procéder ainsi.

Mais avec Get-Content, les CR-LF ne sont pas présent dans les chaînes résultantes, c'est pour cette raison que cela ne fonctionne pas :
[code:1]
$f=\"c:\temp\test.txt\"
#gc $f|Foreach {$_ -replace '^(.*)$','$1X'}
gc $f|Foreach {$_ -replace '^([1-9]*) (.*)$','$1 \"$2\"'}
[/code:1]
Ensuite reste à adapter la regex selon tes specs.

Tutoriels PowerShell

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

Plus d'informations
il y a 16 ans 3 mois #5713 par Arnaud Petitjean
Je pense que la solution de Laurent fonctionne toutefois si comme moi tu ne maitrises pas bien les regex tu peux envisager une autre technique.
Celle que je te propose est de prendre chaque ligne unitairement. Ensuite tu découpes ta chaine en sous chaine en prenant le délimiteur <espace>, puis tu concatènes une nouvelle chaine en mettant les guillemets au bon endroit.

Voici de quoi te mettre en piste :

[code:1]
PS > $tab
4681 XXX Dupont Marcel
4646 XXX Wagner Thierry
3584 XXX Thilly Beertrand

PS > $tab[0]
4681 XXX Dupont Marcel

PS > $tab[0] -split ' '
4681
XXX
Dupont
Marcel

PS > $tabtmp = $tab[0] -split ' '

PS > $result = $tabtmp[0]+ ' \"' +$tabtmp[1..3] +'\"'

PS > $result
4681 \"XXX Dupont Marcel\"
[/code:1]

Arnaud

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

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

Plus d'informations
il y a 16 ans 3 mois #5716 par Seals
Je vous remercie pour vos réponses, je m'en vais tester tout ca... un long travail de compréhension m'attend ! :-)

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

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