Question
Ajout d'un caractère en fin de ligne
- Seals
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 39
- Remerciements reçus 0
il y a 16 ans 4 mois #5678
par Seals
Ajout d'un caractère en fin de ligne a été créé par Seals
Bonjour,
J'exécute un script qui recherche dans un fichier (get-content) des valeurs. j'aimerai rajouter un caractère à chaque fin de ligne. Quel est le bon paramètre avec la méthode[code:1]-Replace (\"?\",\"x\"«»)[/code:1]
Merci.
J'exécute un script qui recherche dans un fichier (get-content) des valeurs. j'aimerai rajouter un caractère à chaque fin de ligne. Quel est le bon paramètre avec la méthode[code:1]-Replace (\"?\",\"x\"«»)[/code:1]
Merci.
Connexion ou Créer un compte pour participer à la conversation.
- steph_d
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 65
- Remerciements reçus 0
il y a 16 ans 4 mois #5683
par steph_d
@+ Steph
Réponse de steph_d sur le sujet Re:Ajout d'un caractère en fin de ligne
Salut
[code:1]Replace(\"`r`n\",\"x`r`n\"«»)[/code:1]
Stephane
[code:1]Replace(\"`r`n\",\"x`r`n\"«»)[/code:1]
Stephane
@+ Steph
Connexion ou Créer un compte pour participer à la conversation.
- Seals
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 39
- Remerciements reçus 0
il y a 16 ans 3 mois #5700
par Seals
Réponse de Seals sur le sujet Re:Ajout d'un caractère en fin de ligne
Merci Stéphane,
Chez moi ca ne fonctionne pas vraiement, le fichier .txt doit il être codé d'une certaine facons ?
Merci.
Chez moi ca ne fonctionne pas vraiement, le fichier .txt doit il être codé d'une certaine facons ?
Merci.
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 3 mois #5701
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Ajout d'un caractère en fin de ligne
Salut,
Seals écrit:
Il faut s'en assurer avec un éditeur de texte Hexa, voir avec debug.exe.
Ensuite concernant Get-Content cela peut dépendre de ton approche, ligne par ligne ou sur un tableau de lignes, et si je ne me trompe l'opérateur -Replace est encapsulé une regex.
Essaie avec la méthode replace du type String, mais le mieux serait d'avoir un fichier exemple de 4-5 lignes.
Seals écrit:
Au format Windows Cr-Lf(`r`n), ce qui n'est pas le cas pour les fichiers générés sous Unix par exemple, par défaut Cr(`r) uniquement. Sinon l'application l'ayant générée peut utiliser une convention différente de celle de Windows.le fichier .txt doit il être codé d'une certaine facons ?
Il faut s'en assurer avec un éditeur de texte Hexa, voir avec debug.exe.
Ensuite concernant Get-Content cela peut dépendre de ton approche, ligne par ligne ou sur un tableau de lignes, et si je ne me trompe l'opérateur -Replace est encapsulé une regex.
Essaie avec la méthode replace du type String, mais le mieux serait d'avoir un fichier exemple de 4-5 lignes.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 16 ans 3 mois #5705
par Arnaud Petitjean
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 ?
Réponse de Arnaud Petitjean sur le sujet Re:Ajout d'un caractère en fin de ligne
Hello !
Une façon de faire serait de lire ligne par ligne ton fichier en utilisant le paramètre -encoding avec la valeur byte de la commande Get-Content. Ensuite tu localises les octets signifiant un retour chariot CR LF (valeurs 13 et 10) puis tu insères juste avant le caractère de fin de ligne de ton choix. Et enfin tu écris ta ligne modifiée dans un autre fichier.
Je sais pas si je suis très clair
. Si toutefois tu avais notre livre, tout est expliqué dans le chapitre 3 partie 4 - La gestion de fichiers.
Arnaud
Une façon de faire serait de lire ligne par ligne ton fichier en utilisant le paramètre -encoding avec la valeur byte de la commande Get-Content. Ensuite tu localises les octets signifiant un retour chariot CR LF (valeurs 13 et 10) puis tu insères juste avant le caractère de fin de ligne de ton choix. Et enfin tu écris ta ligne modifiée dans un autre fichier.
Je sais pas si je suis très clair
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.
- Seals
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 39
- Remerciements reçus 0
il y a 16 ans 3 mois #5707
par Seals
Réponse de Seals sur le sujet Re:Ajout d'un caractère en fin de ligne
Hello,
Je viens de lire mon fichier en Hexa.
J'ai bien les valeur 0x0D 0x0A à la fin de mon fichier.
Ce que j'ai également testé est qu'avec la methode [code:1]$file = $file -Replace (\"q\", \"X`r`n\"«»)[/code:1]
je me retrouve bien avec chaque retour à la ligne de q remplacer par X.
Par contre dès que je spécifie [code:1]-Replace (\"`r`n\", \"X`r`n\"«»)[/code:1] il ne comprends pas le string de recherche (je pense) - du coup, il ne modifie pas la sortie.
J'ai également essayé de mettre entre simple côte [code:1]-Replace (\"'`r'`n\", \"X`r`n\"«»)[/code:1] pour lui demender de garder la chaine exacte, mais fonctione pas non plus.
Pour le fichier d'expemple, il est simple, c'est .txt comportant des noms de personne que je dois insérés entre côte \"\" du type :
4681 XXX Dupont Marcel
4646 XXX Wagner Thierry
3584 XXX Thilly Beertrand
pour donner ceci :
4681 \"XXX Dupont Marcel\"
4646 \"XXX Wagner Thierry\"
3584 \"XXX Thilly Beertrand\"
Merci.
Je viens de lire mon fichier en Hexa.
J'ai bien les valeur 0x0D 0x0A à la fin de mon fichier.
Ce que j'ai également testé est qu'avec la methode [code:1]$file = $file -Replace (\"q\", \"X`r`n\"«»)[/code:1]
je me retrouve bien avec chaque retour à la ligne de q remplacer par X.
Par contre dès que je spécifie [code:1]-Replace (\"`r`n\", \"X`r`n\"«»)[/code:1] il ne comprends pas le string de recherche (je pense) - du coup, il ne modifie pas la sortie.
J'ai également essayé de mettre entre simple côte [code:1]-Replace (\"'`r'`n\", \"X`r`n\"«»)[/code:1] pour lui demender de garder la chaine exacte, mais fonctione pas non plus.
Pour le fichier d'expemple, il est simple, c'est .txt comportant des noms de personne que je dois insérés entre côte \"\" du type :
4681 XXX Dupont Marcel
4646 XXX Wagner Thierry
3584 XXX Thilly Beertrand
pour donner ceci :
4681 \"XXX Dupont Marcel\"
4646 \"XXX Wagner Thierry\"
3584 \"XXX Thilly Beertrand\"
Merci.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.046 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Ajout d'un caractère en fin de ligne