IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

recherche mot plus recuperation x lignes suivantes


Sujet :

Langage Perl

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 39
    Points : 27
    Points
    27
    Par défaut recherche mot plus recuperation x lignes suivantes
    bonjour,

    voila mon problème, je cherche comment récupérer un bloc dans un fichier.
    J'arrive à trouver le début du bloc mais après je voudrais aussi récupérer les X lignes suivantes.

    Cordialement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    open ( FICHIER , $fichier ) ;
     
    while ( <FICHIER> )
    {
    if ( /Salle 1/ )
    {
    print ;
    }
    }
    close ( FICHIER ) ;
    bloc fichier à recuperer

    Temprature Salle 1

    Porte droite

    21°

    Plafond

    23°

    Sol

    20°

  2. #2
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 256
    Points
    12 256
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    sais-tu à l'avance le nombre de lignes à récupérer? Si oui, il suffit de lire le nombre de lignes voulu dans le if avec une sous-boucle while ou for. Par exemple, pour imprimer 8 lignes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    open my $FICHIER , "<", $fichier or die "ouverture impossible de $fichier $!";
    while (<$FICHIER>) {
         if ( /Salle 1/ )  {
              print ;
              for (1..7) { # on a déjà imprimé une ligne, il ne faut en lire que 7
                   my $line = <$FICHIER>;
                   print $line;
              }
         }
    }
    Note que j'ai modifié la façon d'ouvrir le fichier pour respecter les bonnes pratiques actuellement admises par la communauté Perl. Je te conseille aussi instamment d'indenter ton code correctement.

    On peut aussi le faire plus brièvement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    open my $FICHIER , "<", $fichier or die "ouverture impossible de $fichier $!";
    while (<$FICHIER>) {
         if ( /Salle 1/ )  {
              print ;
              print scalar <$FICHIER> for (1..7);
         }
    }

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 39
    Points : 27
    Points
    27
    Par défaut
    merci c'est ce que je cherchais à faire

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 29/11/2013, 16h54
  2. Rechercher mot le plus long d'une chaine de caractère
    Par fafabzh6 dans le forum VBA Access
    Réponses: 5
    Dernier message: 14/10/2009, 17h15
  3. recherche d'une chaine et écrit a la ligne suivante
    Par scoobiflo dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 04/08/2009, 08h37
  4. Réponses: 4
    Dernier message: 07/04/2009, 15h36
  5. Recupere une info suivant une ligne dans un texte.
    Par cyrilthebest8 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 15/12/2006, 18h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo