[PERL] Remplacer retour chariot par espace
F_Pignon
Messages postés
23
Date d'inscription
Statut
Membre
Dernière intervention
-
Zoubouloune -
Zoubouloune -
Bonjour tout le monde,
Je réactualise la discussion:
http://www.commentcamarche.net/forum/affich 4375050 remplacer un retour a la ligne par un espace
pour une question toute bête mais qui ne fonctionne visiblement pas dans mon cas
Je voudrais trouver un moyen de remplacer les retour chariot par des espaces à partir d'un script perl
Mon fichier est de type :
et j'aurais besoin de récupérer :
les propositions de la discussion qui portait déjà sur le sujet suggérait des commandes essentiellement en ligne de commande, dont celle de lami20j :
qui fonctionne très bien (tant qu'on reste en ligne de commande)
Sauf que quand je met cette même commande dans mon script :
Extrait :
ça ne fonctionne plus... :( et j'ai essayé avec tr ($ligne=~tr/\n/ /g;) mais en vain..
(et je n'ai aucun message d'erreur ; mon fichier initial ne bouge pas)
et j'ai absolument besoin de faire cette opération dans le script même
Donc si quelqu'un pouvait m'aider ??
Merci d'avance !
Je réactualise la discussion:
http://www.commentcamarche.net/forum/affich 4375050 remplacer un retour a la ligne par un espace
pour une question toute bête mais qui ne fonctionne visiblement pas dans mon cas
Je voudrais trouver un moyen de remplacer les retour chariot par des espaces à partir d'un script perl
Mon fichier est de type :
ligne1 ligne2 ligne3 etc.
et j'aurais besoin de récupérer :
ligne1 ligne2 ligne3 etc
les propositions de la discussion qui portait déjà sur le sujet suggérait des commandes essentiellement en ligne de commande, dont celle de lami20j :
perl -pe 's/\n/ /g' fichier
qui fonctionne très bien (tant qu'on reste en ligne de commande)
Sauf que quand je met cette même commande dans mon script :
Extrait :
(...) while(<FIC>){ $ligne=$_; $ligne=~s/toto/titi/g; $ligne=~s/tata/tutu/g; ... $ligne=~s/\n/ /g; } (...)
ça ne fonctionne plus... :( et j'ai essayé avec tr ($ligne=~tr/\n/ /g;) mais en vain..
(et je n'ai aucun message d'erreur ; mon fichier initial ne bouge pas)
et j'ai absolument besoin de faire cette opération dans le script même
Donc si quelqu'un pouvait m'aider ??
Merci d'avance !
A voir également:
- [PERL] Remplacer retour chariot par espace
- Espace insécable - Guide
- Remplacer disque dur par ssd - Guide
- Espace de stockage gmail plein - Guide
- Remplacer par word - Guide
- Espace stockage google - Guide
2 réponses
Salut,
lami20j@debian:~/trash$ cat fic.txt ligne1 ligne2 ligne3 etc. lami20j@debian:~/trash$ cat f_pignon.pl #!/usr/bin/perl -i.orig use strict;use warnings; @ARGV = ("fic.txt"); while(<>){ next if /^$/; s/\n/ / and print; } __END__ lami20j@debian:~/trash$ perl f_pignon.pl lami20j@debian:~/trash$ cat fic.txt ligne1 ligne2 ligne3 etc. lami20j@debian:~/trash$ cat fic.txt.orig ligne1 ligne2 ligne3 etc. lami20j@debian:~/trash$
merci bcp
je pense que ça vient du next if... je vas tester