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 :

Extraction des lignes d'un fichier sous forme de chaine


Sujet :

Langage Perl

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Extraction des lignes d'un fichier sous forme de chaine
    Bonjour à tous,

    Est ce que quelqu'un peut m'aider:

    Comment je peux extraire les lignes d'un fichier ".txt" et les mettre dans un tableau de chaine de caractères.
    Je suis entrain de préparer un script sous PERL.


    Merci d'avance.

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 572
    Points : 2 014
    Points
    2 014
    Par défaut
    Bonjour,

    à lire ce que tu veux, j'ai l'impression d'entendre quelqu'un qui est confronté à un problème en C

    Si tu es en train de travailler ton script Perl, voici ce que je ferais :

    - j'ouvre en lecture le fichier
    - chaque ligne lue est rangée (ou pushée via la fonction adéquate) dans un tableau

    Et voila : chaque élément de ton tableau correspondra à une ligne de ton fichier.

    A toi de faire le script à présent.

  3. #3
    Invité
    Invité(e)
    Par défaut
    On ne va pas faire ton travail. Montre nous ce que tu as fait, dis-nous sur quoi tu bloques, et on t'aidera.

    Montre ton code.

  4. #4
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Voici mon code:


    #! /etc/bin/perl

    print "Vous devez choisir votre test:\n";
    print "1: Test FEC 1A et flux SD\n";
    print "2: Test FEC 2A et flux SD\n";
    $entree = <STDIN>;
    if ($entree ==1)
    {
    # Les variable théorique de la matrice 1A SD
    #$Nb_pertes_theoriques = 8;
    #$Nb_packets_reçu_theorique = 32;



    print " La séquence est : $seq \n\n";
    #Definition du fichier "trace.txt"
    $file = "trace.txt";
    open (file ) or die " Impossible de trouver le fichier $file \n ";

    #Nbre des lignes du fichier "trace.txt"
    $ligne = $. ;

    #Definition d'un tableau de chaines de caractère
    @table_FEC = <file>;

    close(file);
    $i =0;
    foreach (@table_FEC) {
    #print();
    $i = $i +1;
    }

    print "-----------------------------------\n\n\n";

    print @table_FEC[20];

    print "-----------------------------------\n\n\n";

    print " Nbre des ligne du tableau est $i \n"
    /#ici je veux mettre les ligne du fichier dans un tableau de chaine de #caractère pour que je puisse extraire des sous-chaine et par la suite les comparer
    }
    else
    {
    print "Verifier votre choix.\n";
    }

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 572
    Points : 2 014
    Points
    2 014
    Par défaut
    Je mets ton code entre balises #, pense à faire pareil les prochaines fois, ça permet de gagner en lisibilité

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    #! /etc/bin/perl
     
    print "Vous devez choisir votre test:\n";
    print "1: Test FEC 1A et flux SD\n";
    print "2: Test FEC 2A et flux SD\n";
    $entree = <STDIN>;
    if ($entree ==1)
    {
        # Les variable théorique de la matrice 1A SD
        #$Nb_pertes_theoriques = 8;
        #$Nb_packets_reçu_theorique = 32;
     
        print " La séquence est : $seq \n\n";
        #Definition du fichier "trace.txt"
        $file = "trace.txt";
        open (file ) or die " Impossible de trouver le fichier $file \n ";
     
        #Nbre des lignes du fichier "trace.txt"
        $ligne = $. ;
     
        #Definition d'un tableau de chaines de caractère
        @table_FEC = <file>;
     
        close(file);
        $i =0;
        foreach (@table_FEC) {
            #print();
            $i = $i +1;
        }
     
        print "-----------------------------------\n\n\n";
     
        print @table_FEC[20];
     
        print "-----------------------------------\n\n\n";
     
        print " Nbre des ligne du tableau est $i \n"
        /#ici je veux mettre les ligne du fichier dans un tableau de chaine de #caractère pour que je puisse extraire des sous-chaine et par la suite les comparer
        }
        else
        {
        print "Verifier votre choix.\n";
    }
    @table_FEC contient déjà les lignes de tout ton fichier, je ne comprend pas trop ce que tu veux dire par "vouloir les lignes dans un tableau de caractères".

    Perl est différent du C, les variables ne sont pas typées et ton tableau @table_FEC peut contenir indifféremment du numérique, du flottant, des caractères, des références, etc.

    Heu et sinon, tes cours en Perl, tu te les procures où exactement ?

    Ne te vexe pas, c'est juste que tu m'as l'air de faire en Perl comme si tu codais en C...

  6. #6
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Et alors comment je peux récupérer les lignes sous forme de chaine de caractères ?
    En fait j'ai besoin d'extraire les chiffres qui sont inclus dans les ligne et par la suite les comparer.
    Est ce que je peux faire ca?

  7. #7
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 572
    Points : 2 014
    Points
    2 014
    Par défaut
    Citation Envoyé par rahalfat10 Voir le message
    Et alors comment je peux récupérer les lignes sous forme de chaine de caractères ?
    En fait j'ai besoin d'extraire les chiffres qui sont inclus dans les ligne et par la suite les comparer.
    Est ce que je peux faire ca?
    Ton tableau @table_FEC contient toutes les lignes de ton fichier.

    Si tu veux afficher le contenu du tableau, tu peux insérer ça dans ton code pour voir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach my $ligne(@table_FEC)
    {
        print "$ligne\n";
    }
    Ensuite, pour ce qui est d'extraire les chiffres inclus dans les lignes, faut voir. S'il y a des séparateurs immuables séparant les données d'une ligne, tu pourras éventuellement récupérer les chiffres en utilisant la fonction split( ), sinon il te faudra employer la ruse via les expressions régulières.

  8. #8
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Je vous remercie.
    c'est ce que je cherche.
    Merci bien une autre fois.

  9. #9
    Invité
    Invité(e)
    Par défaut
    La prochaine fois, pense à la FAQ, car la réponse à ton problème était dedans...

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/05/2015, 12h00
  2. Extraction des lignes d'un fichier txt dans un tableau
    Par med.ben235 dans le forum Débuter
    Réponses: 1
    Dernier message: 28/04/2014, 17h56
  3. Ajouter des jours à une date stockée sous forme de chaine
    Par Christophe Charron dans le forum Firebird
    Réponses: 9
    Dernier message: 17/09/2011, 07h38
  4. afficher des fichiers sous forme de lien
    Par siwil dans le forum Langage
    Réponses: 28
    Dernier message: 07/09/2009, 16h40
  5. Réponses: 4
    Dernier message: 24/04/2003, 22h28

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