[PERL]Saut de ligne
Résolu
-
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
Bonjour à tous, je comprens pas pourquoi mais j'ai un vieu problème , cça fait pas mal débutant mais bon , j'comprends pas :
mon fichier:
bref vous voyez le truc !
Et ce que je veux faire c'est de supprimer les 2 sauts de lignes avant mes tags <RENV> , alors dans mon script j'ai essayé
Et ça ne marche pas... pourquoi ? !
Merci.
Zep3k!GnO
-->kurtis jackson:"Dans la vie tu as besoin de 3 choses : le fitness, l'aérobic et moi."
mon fichier:
blahblahblahblahblahblahblah <RENV blahblah></RENV>blahblahblahblahblahblahblahblah blahblahblahblahblah <RENV blahblah></RENV>blahblahblahblahblahblahblahblah blahblahblahblahblahblahblahblahblahblahblahblahblahblahblah blahblahblah <RENV blahblah></RENV>blahblahblahblahblahblahblahblah blahblahblahblahblah
bref vous voyez le truc !
Et ce que je veux faire c'est de supprimer les 2 sauts de lignes avant mes tags <RENV> , alors dans mon script j'ai essayé
s/& #0D;& #0A;& #0D;& #0A;\<RENV/<RENV/g; //les & et # sont décollés pour que le site puissent afficher ces caractères Unicode... OU s/\n\n\<RENV/<RENV/g;
Et ça ne marche pas... pourquoi ? !
Merci.
Zep3k!GnO
-->kurtis jackson:"Dans la vie tu as besoin de 3 choses : le fitness, l'aérobic et moi."
A voir également:
- Saut de ligne latex
- Partage de photos en ligne - Guide
- Comment supprimer une page sur word avec un saut de page ? - Guide
- Mètre en ligne - Guide
- Formulaire en ligne de meta - Guide
- Aller à la ligne excel - Guide
10 réponses
Je pense que le \ devant le '<' est en trop, ce qui donne :
En tout cas sous vi ça marche (très pratique cette petite bête pour débuger les regexp).
Technique à deux balles de la mamie :
D'une manière générale quand un regexp ne marche pas, essaye de la reduire au minimum, de voir si elle marche et de la rallonger progressivement pour voir d'où vient le pb.
Bonne chance
s/\n\n<RENV/<RENV/g;
En tout cas sous vi ça marche (très pratique cette petite bête pour débuger les regexp).
Technique à deux balles de la mamie :
D'une manière générale quand un regexp ne marche pas, essaye de la reduire au minimum, de voir si elle marche et de la rallonger progressivement pour voir d'où vient le pb.
Bonne chance
Salut,
Si tu veux supprimer les 2 sautes de lignes tu obtiens quelque chose comme ça
En revanche si tu veux que ton fichier soit
Tu n'as qu'un seul saute de ligne à supprimer (pas 2)
Le scrip ne fait que lire et afficher à l'écran. Pour écrire il faut ajouter encore quelque lignes.
Ou en ligne de commande. Ici le fichier est modifé sur place et l'original est sauvegardé.
Si tu veux supprimer les 2 sautes de lignes tu obtiens quelque chose comme ça
blahblahblahblahblahblahblah<RENV blahblah></RENV>blahblahblahblahblahblahblahblah blahblahblahblahblah<RENV blahblah></RENV>blahblahblahblahblahblahblahblah blahblahblahblahblahblahblahblahblahblahblahblahblahblahblah blahblahblah<RENV blahblah></RENV>blahblahblahblahblahblahblahblah iblahblahblahblahblahC'est ça que tu veux obtenir. En ce cas la réponse de mamiemando est suffisante.
En revanche si tu veux que ton fichier soit
blahblahblahblahblahblahblah <RENV blahblah></RENV>blahblahblahblahblahblahblahblah blahblahblahblahblah <RENV blahblah></RENV>blahblahblahblahblahblahblahblah blahblahblahblahblahblahblahblahblahblahblahblahblahblahblah blahblahblah <RENV blahblah></RENV>blahblahblahblahblahblahblahblah iblahblahblahblahblah
Tu n'as qu'un seul saute de ligne à supprimer (pas 2)
#! /usr/bin/perl -w $/=" "; open FLIRE,'Zep3k!GnO.txt' or die "Impossible d'ouvrir le fichier : $!\n"; while (<FLIRE>){ s/\n(?=<RENV)//; # teste avant, ne consomme pas de texte donc plus rapide print; }
Le scrip ne fait que lire et afficher à l'écran. Pour écrire il faut ajouter encore quelque lignes.
Ou en ligne de commande. Ici le fichier est modifé sur place et l'original est sauvegardé.
perl -pi.orig -e 's/^\n$//' Zep3k\!GnO.txt
Okay bin merci à tous les 2 je vais tester ça . . . et je vous dit :D
Un grand merci.
Zep3k!GnO
-->kurtis jackson:"Dans la vie tu as besoin de 3 choses : le fitness, l'aérobic et moi."
Un grand merci.
Zep3k!GnO
-->kurtis jackson:"Dans la vie tu as besoin de 3 choses : le fitness, l'aérobic et moi."
Hélas c'est bien la prmièe forme que tu exposes lami20j que je veux obtenir et ce que mamiemando m'a mis ne fonctionne pas, j'avais déjà essayé comme ça . . . :(
Si vous avez d'autres idées . . .
Merci
Zep3k!GnO
-->kurtis jackson:"Dans la vie tu as besoin de 3 choses : le fitness, l'aérobic et moi."
Si vous avez d'autres idées . . .
Merci
Zep3k!GnO
-->kurtis jackson:"Dans la vie tu as besoin de 3 choses : le fitness, l'aérobic et moi."
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Essaye de debugger ta regexp en l'allongeant petit à petit pour voir où elle bloque. Désolé mais je ne peux pas faire de perl actuellement pour t'aider :/
Désolé mais je ne peux pas faire de perl actuellement pour t'aider :/
Y'as trop pas de soucis :D
Mais c'est tout de même dingue , même un simple :
s/\n\n/saute!/g;
Ca ne fonctionne pas...
c'est Con car du coups je suis obligé de réouvrir le ficheir resultant avec mon Ultra Edit et de faire un povre :
^p^p<RENV <--remplacer par --> <RENV
Et la j'ai pô de soucis ... c'est beuuuute non ?!
Merci
Zep3k!GnO
-->kurtis jackson:"Dans la vie tu as besoin de 3 choses : le fitness, l'aérobic et moi."
Y'as trop pas de soucis :D
Mais c'est tout de même dingue , même un simple :
s/\n\n/saute!/g;
Ca ne fonctionne pas...
c'est Con car du coups je suis obligé de réouvrir le ficheir resultant avec mon Ultra Edit et de faire un povre :
^p^p<RENV <--remplacer par --> <RENV
Et la j'ai pô de soucis ... c'est beuuuute non ?!
Merci
Zep3k!GnO
-->kurtis jackson:"Dans la vie tu as besoin de 3 choses : le fitness, l'aérobic et moi."
Sinon il y a possibilité de faire une boucle pour traiter ligne par ligne mais c'est vrai que c'est très laid... Enfin sinon tu le fais avec la regexp que je t'ai filé pour vi et c'est bon
http://www.vim.org/download.php
Bonne chance
http://www.vim.org/download.php
:%s/.../.../g :wq
Bonne chance
Arf merci c'est CoOl mamiemando . . . !
ouais ca devrait aller , là j'ai vu que ça passe pas trop crade .. hi hi ..
En tous cas merci de ton aide c'est sympa ;P
Zep3k!GnO
-->kurtis jackson:"Dans la vie tu as besoin de 3 choses : le fitness, l'aérobic et moi."
ouais ca devrait aller , là j'ai vu que ça passe pas trop crade .. hi hi ..
En tous cas merci de ton aide c'est sympa ;P
Zep3k!GnO
-->kurtis jackson:"Dans la vie tu as besoin de 3 choses : le fitness, l'aérobic et moi."
Bonsoir,
Hélas c'est bien la prmièe forme que tu exposes lami20j que je veux obtenir et ce que mamiemando m'a mis ne fonctionne pas, j'avais déjà essayé comme ça . . . :(
Si vous avez d'autres idées . . .
Alors en ce cas voilà le script, pareil il affiche le résultat sur STDOUT.
Si tu veux modifier le fichier sur place et tu ne sais pas le faire dit le.
Voilà le script ( faire une boucle et traiter ligne par ligne ce n'est pas laide)
Et le résultat
Hélas c'est bien la prmièe forme que tu exposes lami20j que je veux obtenir et ce que mamiemando m'a mis ne fonctionne pas, j'avais déjà essayé comme ça . . . :(
Si vous avez d'autres idées . . .
Alors en ce cas voilà le script, pareil il affiche le résultat sur STDOUT.
Si tu veux modifier le fichier sur place et tu ne sais pas le faire dit le.
Voilà le script ( faire une boucle et traiter ligne par ligne ce n'est pas laide)
#! /usr/bin/perl -w $/=" "; open FLIRE,'Zep3k!GnO.txt' or die "Impossible d'ouvrir le fichier : $!\n"; while (<FLIRE>){ s/\n\n<RENV/<RENV/; print; }
Et le résultat
[lamitest@localhost bin]$ cat Zep3k\!GnO.txt blahblahblahblahblahblahblah <RENV blahblah></RENV>blahblahblahblahblahblahblahblah blahblahblahblahblah <RENV blahblah></RENV>blahblahblahblahblahblahblahblah blahblahblahblahblahblahblahblahblahblahblahblahblahblahblah blahblahblah <RENV blahblah></RENV>blahblahblahblahblahblahblahblah iblahblahblahblahblah [lamitest@localhost bin]$ perl suppr_ligne_vide1.pl blahblahblahblahblahblahblah<RENV blahblah></RENV>blahblahblahblahblahblahblahblah blahblahblahblahblah<RENV blahblah></RENV>blahblahblahblahblahblahblahblah blahblahblahblahblahblahblahblahblahblahblahblahblahblahblah blahblahblah<RENV blahblah></RENV>blahblahblahblahblahblahblahblah iblahblahblahblahblah [lamitest@localhost bin]$
salut lami20j, j'ai vu tes participations sur le forum, je voudrais bien avoir ton aide sur un script plus ou moins bête, mais je n'en sors tjrs pas, car je suis encore débutant
en fait, l'objectif est de faire un script en perl, pour comparer deux fichiers textes de grande taille, en passant par les tables de hachage, c'est une notion que je ne saisis pas trop pour le moment. il y a aussi l'alternative de passer par des tableaux en parcourant les deux fichiers, bref, c ma vision des choses!
en fait, l'objectif est de faire un script en perl, pour comparer deux fichiers textes de grande taille, en passant par les tables de hachage, c'est une notion que je ne saisis pas trop pour le moment. il y a aussi l'alternative de passer par des tableaux en parcourant les deux fichiers, bref, c ma vision des choses!