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 :

correction de script perl


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 32
    Par défaut correction de script perl
    bonjour
    j'ai écrit un script perl qui lit un fichier par lignes et cherche dans un autre fichier s'il ya des caractéres ( lignes complétes) du premier et écrit dans un 3 eme fichier les lignes du 2 eme qui contiennent les caratctéres (lignes) du 1er
    mon script n'écrit rien dans le 3 eme fichier !!!!!!!!!
    mon script :
    #!/usr/bin/perl
    use strict;
    open READ1,"</tel_nontel/non_tel/aids" or die "E/S : $!\n";
    open READ2,"</trainCD/aidsseg" or die "E/S : $!\n";
    open WRITE,">/tel_nontel/non_tel/aids.lst" or die "E/S : $!\n";
    my @f3;
    my @f1 = <READ1>;
    my @f2 = <READ2>;
    for my $val(@f1){
    $val =~ s/\s*\r?\n//;
    push @f3,grep { $_ =~ /$val\)/ } @f2 }
    print WRITE @f3;
    pouvez vous svp m'aider a le corriger

  2. #2
    Jeh
    Jeh est déconnecté
    Membre expérimenté Avatar de Jeh
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 203
    Par défaut
    Déjà, ce serait plus propre de fermer tes fichiers...Ensuite d'aérer ton code...
    Comme ça, c'est mieux :
    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
     
    #!/usr/bin/perl
    use strict;
     
    open READ1,"</tel_nontel/non_tel/aids" or die "E/S : $!\n";
    open READ2,"</trainCD/aidsseg" or die "E/S : $!\n";
    open WRITE,">/tel_nontel/non_tel/aids.lst" or die "E/S : $!\n";
     
    my @f1 = <READ1>;
    close READ1;
    my @f2 = <READ2>;
    close READ2;
     
    for my $val(@f1) {
         $val =~ s/\s*\r?\n//;
         print WRITE grep {/$val\)/} @f2;
    }
    close WRITE;
    Sinon, est-il possible que tu es des casses différentes entre tes deux fichiers lus ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 32
    Par défaut
    salut
    oui le fichier 1 contient des lignes contenant des paths et le fichier 2 contient tout les paths du fichier 1 avec pleins d'autres.
    le fichier 1 contient 78000 lignes et le fichier 2 contient 90000
    j'ai testé ton script et ca ne donne pas de réponse , bug ,
    merci

  4. #4
    Jeh
    Jeh est déconnecté
    Membre expérimenté Avatar de Jeh
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 203
    Par défaut
    En faisant une recherche sur le forum, je suis tombé sur une librairie qui réalise des diff sur fichiers : http://search.cpan.org/~rbs/Text-Diff-0.35/lib/Text/Diff.pm


    Tu devrais peut être regarder de ce côté là pour ne pas trop se prendre la tête...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 32
    Par défaut
    toujours rien , je ne sais pas pourquoi
    mais je crois que dans ton script il ne retrouve pas les chaine des lignes du fichier 1 (peut etre un espace ou je ne sé koi !!)
    peux tu me proposer autre chose (autre script)
    merci pour ton aide

  6. #6
    Jeh
    Jeh est déconnecté
    Membre expérimenté Avatar de Jeh
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 203
    Par défaut
    Citation Envoyé par donmamio
    toujours rien , je ne sais pas pourquoi
    mais je crois que dans ton script il ne retrouve pas les chaine des lignes du fichier 1 (peut etre un espace ou je ne sé koi !!)
    peux tu me proposer autre chose (autre script)
    merci pour ton aide
    Et ça =>
    En faisant une recherche sur le forum, je suis tombé sur une librairie qui réalise des diff sur fichiers : http://search.cpan.org/~rbs/Text-Diff-0.35/lib/Text/Diff.pm


    Tu devrais peut être regarder de ce côté là pour ne pas trop se prendre la tête...
    ???

Discussions similaires

  1. Réponses: 7
    Dernier message: 08/07/2004, 14h47
  2. [langage] Script Perl Aide
    Par julfra dans le forum Langage
    Réponses: 7
    Dernier message: 17/05/2004, 09h55
  3. [langage] script perl cmd system
    Par kacedda dans le forum Langage
    Réponses: 4
    Dernier message: 02/05/2003, 09h45
  4. [langage] awk et sed dans script perl
    Par scoti dans le forum Langage
    Réponses: 3
    Dernier message: 07/04/2003, 18h26
  5. Réponses: 2
    Dernier message: 11/07/2002, 08h31

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