|
|
|
|
Posté par
fanchec, le mardi 23 janvier 2007 à 14:50:55Configuration: Windows XP Internet Explorer 7.0
Salut,
jette un oeil sur la page suivante : perlfich?imprim=1 Ensuite, il te suffit de gérer un compteur qui va jusqu'à 3 et qui concatène les lignes avant de les recopier... A+ Blux "Les cons, ça ose tout. C'est même à ça qu'on les reconnait" |
Salut,
perl -pi.orig -e 's/\n// unless $.%3 == 0' fichierà savoir que s/\n// fonctionne sur les fichiers type Unix (\n pour la fin de ligne) si la fin de ligne est de type MAC ou WIN il faut changer en fonction de la structure de fichier. lami20j |
Bon alors si j'ai bien compris tu cherche à concatener toutes les 3 lignes en une seul???
voila ce que je te propose : 1) d'abord installe active perl (c'est un interpreteur de perl sous windows) 2) ouvre un document text avec notpad et tape le code suivant
open (FICIN,$ARGV[0]); #ouvre le premier fichier en paramettre
open (FICOUT,">$ARGV[2]"); #ouvre le second fichier
my $c = 0;
while ($ligne = <FICIN>){
chomp $ligne;
print FICOUT $ligne;
print FICOUT ";" # <--------- a enlever si tu ne veux pas de point virgule entre 2 lignes nouvelement assemblée (ex ligne1;ligne2;ligne3;)
if ($c%3==2){
print FICOUT "\n";
}
}
close FICIN;
close FICOUT;
3) tu sauve ce script avec un nom finissant par .pl 4) tu ouvre un invte de commande tu change de répertoire jusque là où tu a sauver ton script. 5) tu tape "perl script.pl [lefichierd'entree] [le fichier de sortie] et voilou :D |
oups j'ai oublier de rajouter $c++ dans la boucle while :)
|
Re,
pour windows voilà (je suis un paresseux môa :-)) open F_ECRIRE,">res.dat"
or die "E/S: $!\n";
while(<>){
s/\r?\n/;/ unless $.%3 == 0;
print F_ECRIRE;
}je n'utilise pas un compteur, en revanche j'utilise la variable $. ($NR ou $INPUT_LINE_NUMBER - le numéro d'enregistrement courant - dans notre cas le numéro de ligne)
Pour l'exécuter perl script.pl ficher_en_entrée le résultat sera écrit dans le fichier res.dat, à toi de modifier le nom du fichier en sortie lami20j |
Résolution du problème,
grace à Nath : Pb : comment passer d'un fichier txt de la forme aaa bbb ccc ddd eee fff ... en fichier aaabbbccc dddeeefff ... ???? code utilisé pour la solution : #!/usr/bin/perl -w open (FICIN,$ARGV[0]); open (FICOUT,">$ARGV[1]"); my $c=0; while ($ligne=<FICIN>) { chomp $ligne; print FICOUT $ligne; print FICOUT ";"; if ($c==2) { print FICOUT "\n"; $c=0; } else { $c++; } } close (FICIN); close (FICOUT); encore merci à tous (et mention spéciale pour Nath) |
| 08/11 18h08 | [vi/vim] Eviter les tabulations lors d'un copier/coller | vi |
| 25/04 10h09 | Problème de copier-coller sous Firefox | Mozilla Firefox |
| 20/02 14h45 | Faire une newsletter | e-communication |
| 29/04 19h40 | Disparition de la commande "Envoyer vers" | Windows |
| 03/01 18h29 | [Windows XP] Activer / Désactiver l'écran de veille | Windows XP |
| 09/04 16h41 | VBA Copier/coller ligne en fonction d1 condit | 0 |
| 11/10 22h28 | Probleme de copier coller ligne | 0 |
| 21/06 17h46 | Copier coller automatiquement text1 vers tex | 9 |
| 13/06 11h49 | [perl] Copier coller | 7 |
![]() | SuperCopier 2 - SuperCopier est un gestionnaire de copie de fichiers libre pour Windows, proposant des fonctionnalités non couvertes par le... | Catégorie: Gestion de fichiers Licence: Freeware/gratuit |
![]() | Amaya - Amaya est un éditeur Web, développé conjointement par l'INRIA et le W3C, pour éditer et publier très simplement des pages... | Catégorie: Editeurs HTML Licence: Open Source |
![]() | Hex Workshop - Hex Workshop est un ensemble d'outils de développement hexadécimaux pour Microsoft Windows. Il combine à la fois... | Catégorie: Organisation Licence: Shareware |
![]() | Audacity - Audacity® est un logiciel libre et open-source destiné à l'édition et à l'enregistrement sonore. Il est disponible pour Mac... | Catégorie: Création musicale Licence: Open Source |
![]() | Mega Drive Collection | Catégorie: Jeu vidéo PSP | 25.00 € Micromania |
![]() | Museum Battle Collection | Catégorie: Jeu vidéo PSP | 19.58 € Amazon.fr |
![]() | Halo 3: Limited Collector's | Catégorie: Jeu vidéo Xbox 360 | 70.00 € Micromania |
![]() | Fort Boyard Millemnium : | Catégorie: Jeu vidéo PC |