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 :

[Debutant perl] Equivalent sous perl


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de griese
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    646
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 646
    Par défaut [Debutant perl] Equivalent sous perl
    Bonjour à tous,
    comme l'indique le titre, je suis débutant sous perl et je souhaiterai modifié un script en ksh pour le passer en perl. J'aurai donc voulu connaitre l'équivalent des tableau et de la commande cut sou perl. Merci de votre aide

  2. #2
    Membre éclairé Avatar de griese
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    646
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 646
    Par défaut
    Bon j'ai trouvé ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    perl -ne 'print if ${i}' fichier1>>fichier2
    Apparement si j'ai bien compris, cette commande m'écris dans le fichier2 toutes les lignes comprenant la valeur de $i qu'il trouve dans le fichier 1.
    Mais ca ne marche pas des masses. En fait cette commande est dans une boucle for dont $i est la variable. Le tableau contient 10000 lignes, donc je ne devraient avoir que 10000 lignes dans mon fichiers de sortie or je monte a plusieurs millions de lignes. Pourriez vous m'aidez car je n'y connais absoluement rien en perl. Merci beaucoup

  3. #3
    Membre Expert
    Avatar de Woufeil
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 1 076
    Par défaut
    Bonjour.

    Dit nous plutôt ce que tu veux faire, on t'expliquera comment le faire

  4. #4
    Membre éclairé Avatar de griese
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    646
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 646
    Par défaut
    Bonjour,
    Merci d'avoir déplacer mon post. Bon alors, en fait je souhaiterai faire une jointure entre deux fichiers j'ai un premier fichier de ce type :

    fichier1:
    ID;info1;
    ID;info1;
    ID;info1;
    ID;info1;
    ID;info1;
    ID;info1;
    ID;info1;
    etc...

    et un deuxieme :
    info2;info3;info4;ID;info5;info6;info7;
    info2;info3;info4;ID;info5;info6;info7;
    info2;info3;info4;ID;info5;info6;info7;
    info2;info3;info4;ID;info5;info6;info7;
    info2;info3;info4;ID;info5;info6;info7;
    info2;info3;info4;ID;info5;info6;info7;
    info2;info3;info4;ID;info5;info6;info7;
    info2;info3;info4;ID;info5;info6;info7;
    info2;info3;info4;ID;info5;info6;info7;
    etc...

    En fait je souhaiterai récupérer toutes les infos du deuxieme fichier dont l'ID est dans le fichier1 et en plus rajouter info1 au bout de la ligne du fichier2 correspondant. J'avais réussi un script en ksh mais qui mettais plusieurs heures à réaliser l'opération. Et on m'a dit que le langage était plus puissant donc j'aimerai réaliser cela en perl. Merci pour le coup de main

  5. #5
    Membre Expert Avatar de MarneusCalgarXP
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    911
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 911
    Par défaut
    quelle est la clé qui permet de faire la jointure entre les 2 fichiers ?

    EDIT: oups, j'avais pas vu que ID était présent dans le fichier 2 y'a moyen d'écrire ça en ksh de manière aussi efficace qu'en perl. L'avantage du ksh, c'est que ca tiendra mieux la charge si les fichiers sont gros !

  6. #6
    Membre Expert Avatar de MarneusCalgarXP
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    911
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 911
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    fichier1="/chemin/fichier1"
    fichier2="/chemin/fichier2"
     
    # tri du 1° fichier sur la clé ID (1° champ), nécessaire pour join
    sort fichier1 -t";" -k1 -o ${fichier1}.sorted
    # tri du 2° fichier sur la clé ID (4° champ), nécessaire pour join
    sort fichier2 -t";" -k4 -o ${fichier2}.sorted
    # jointure sur les ID avec tous les champs du fichier2 + info1
    join -1 1 -2 4 -t";" -o"2.1 2.2 2.3 2.4 2.5 2.6 2.7 1.2" ${fichier1}.sorted ${fichier2}.sorted > resultat.txt
    # suppression des fichiers temporaires triés
    rm -f ${fichier1}.sorted ${fichier2}.sorted

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

Discussions similaires

  1. [Gtk-Perl] compatibilité Gtk2-perl et Gtk-perl
    Par astrotouf dans le forum GTK+
    Réponses: 4
    Dernier message: 17/11/2007, 19h44
  2. [langage] [EDI]Perl, gratuit sous Linux
    Par Kartofel dans le forum Langage
    Réponses: 8
    Dernier message: 03/10/2007, 12h56
  3. Comment déplacer des fichiers sous perl ?
    Par Ickou dans le forum Langage
    Réponses: 6
    Dernier message: 10/11/2005, 12h17
  4. [langage] Table Dynamique sous PERL ?
    Par Slippers dans le forum Langage
    Réponses: 9
    Dernier message: 09/02/2005, 08h30

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