Noob perl avec pb, mais j'apprend doucement - Perl - Programmation
Marsh Posté le 30-05-2008 à 08:32:38
C'est de la programmation, je transfère sur la section idoine.
Marsh Posté le 30-05-2008 à 08:32:53
Ce sujet a été déplacé de la catégorie OS Alternatifs vers la categorie Programmation par Black_lord
Marsh Posté le 30-05-2008 à 09:51:36
perl -e 'while (<> ) { if (/^2008/) { print; print scalar <> } }' |
Marsh Posté le 30-05-2008 à 23:43:09
Une version un poil moins tricky:
Code :
|
A partir de la quelle tu peux écrire une version un poil plus complexe,
qui tient compte de cas incomplets (car les fichiers de donnée parfaits...):
seconde ligne apres une avec 2008 ne commençant pas par "Capacité :",
ce qui semble être une de tes contraintes, et cas de deux lignes successives
commençant par 2008.
Code :
|
Ou le code équivalent (pour une fois qu'on peut employer un redo, ce qui est rare, on ne va pas se gêner)
Code :
|
Si on se permet de mettre me message d'erreur en tête de ligne, et non en bout de ligne erronnée (ou vide) comme précédemment, on aboutit a un script un peu plus élégant:
Code :
|
A+,
Marsh Posté le 31-05-2008 à 08:24:58
ouch grand merci pour ces exemples fournis !
Marsh Posté le 31-05-2008 à 17:47:04
Damned, j'ai oublié les close en fin de script. Je les rajoute dans mon post précédent.
C'est pas bien grave, mais autant écrire du code propre.
A+,
Marsh Posté le 30-05-2008 à 08:27:10
Bonjour,
Bon je suis noob en perl, j'ai un petit pb d'extraction de lignes dans un fichier texte qui se présente comme ça :
2008 Nom Prénom indice
Capacité : validée
2008 Nom Prénom indice
Capacité : En cours
2008 Nom Prénom indice
Capacité : Echec
Bref j'ai ecrit un script perl de la sorte
Sans problème j'extrais la ligne 1 mais je ne trouve pas comment extraire la ligne deux en dessous séquentiellement
Je ne cherche qu'a sortir les enregistrements de 2008 car le fichier contient 10 années !
au final j'aimerais :
Merci de votre aide , je rame !