Question
Fonction Replace / Retour Ligne
- Jérémy
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 14
- Remerciements reçus 0
il y a 16 ans 10 mois #4576
par Jérémy
Fonction Replace / Retour Ligne a été créé par Jérémy
Bonjour à tous,
J'aimerai remplacer les retours à la ligne d'un fichier texte par une virgule.
Ce code me permettait de supprimer les espaces.
[code:1]Get-Content C:\test\fichier_final.txt |Foreach{$_.Replace(\" \", \"\"«»)}|Set-Content \"C:\test\fichier_final2.txt\"[/code:1]
je sais que le retour charriot est : `r
et l'ajout d'une ligne est : `n
Mais je ne trouve pas de solution pour remplacer ces retours à la ligne.
Merci de votre aide.
J'aimerai remplacer les retours à la ligne d'un fichier texte par une virgule.
Ce code me permettait de supprimer les espaces.
[code:1]Get-Content C:\test\fichier_final.txt |Foreach{$_.Replace(\" \", \"\"«»)}|Set-Content \"C:\test\fichier_final2.txt\"[/code:1]
je sais que le retour charriot est : `r
et l'ajout d'une ligne est : `n
Mais je ne trouve pas de solution pour remplacer ces retours à la ligne.
Merci de votre aide.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 16 ans 10 mois #4577
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Fonction Replace / Retour Ligne
Salut,
ici les retours chariot sont gérés par les cmdlets.
Ils ne font pas partie des chaînes de caractères, leur présence dans le fichier ne sert que de séparateur de lignes.
Tu peux faire qq chose comme ceci :
[code:1]
$Array=Get-Content \"C:\test\fichier_final.txt\"
$oldofs=$ofs
$ofs=\",\"
Set-Content \"C:\test\fichier_final2.txt\" \"$Array\"
$ofs=$oldofs
[/code:1]
Le pb potentiel étant la taille du fichier à gérer.
L'exemple suivant gére les CR :
[code:1]
$File=\"C:\test\fichier_final.txt\"
#récupère le contenu du fichier dans une seule chaîne
[String] $S = [io.file]::ReadAllText($File)
# remplace avec une regex
$S2=$s -replace \"\r\n\",\",\"
$s2
#ou en pipeline
[io.file]::ReadAllText($File)|% {$s -replace \"\r\n\",\",\"}|Set-Content \"C:\test\fichier_final2.txt\"
[/code:1]
Il manque à PS un cmdlet cherche/remplace
<br><br>Message édité par: Laurent Dardenne, à: 24/04/09 12:27
ici les retours chariot sont gérés par les cmdlets.
Ils ne font pas partie des chaînes de caractères, leur présence dans le fichier ne sert que de séparateur de lignes.
Tu peux faire qq chose comme ceci :
[code:1]
$Array=Get-Content \"C:\test\fichier_final.txt\"
$oldofs=$ofs
$ofs=\",\"
Set-Content \"C:\test\fichier_final2.txt\" \"$Array\"
$ofs=$oldofs
[/code:1]
Le pb potentiel étant la taille du fichier à gérer.
L'exemple suivant gére les CR :
[code:1]
$File=\"C:\test\fichier_final.txt\"
#récupère le contenu du fichier dans une seule chaîne
[String] $S = [io.file]::ReadAllText($File)
# remplace avec une regex
$S2=$s -replace \"\r\n\",\",\"
$s2
#ou en pipeline
[io.file]::ReadAllText($File)|% {$s -replace \"\r\n\",\",\"}|Set-Content \"C:\test\fichier_final2.txt\"
[/code:1]
Il manque à PS un cmdlet cherche/remplace
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Jérémy
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 14
- Remerciements reçus 0
il y a 16 ans 10 mois #4578
par Jérémy
Réponse de Jérémy sur le sujet Re:Fonction Replace / Retour Ligne
Merci à toi Laurent, tes solutions marchent !!
J'avais pas mal galéré pour trouver comment les remplacer et je me doutais bien que les retours chariot ne faisaient pas parti des caractères.
Ps : J'ai pas trouvé comment mettre la notification résolu au sujet. dsl pour les admins
J'avais pas mal galéré pour trouver comment les remplacer et je me doutais bien que les retours chariot ne faisaient pas parti des caractères.
Ps : J'ai pas trouvé comment mettre la notification résolu au sujet. dsl pour les admins
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.077 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Fonction Replace / Retour Ligne