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

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 646
    Points : 281
    Points
    281
    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
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant.

    http://mosfootball.over-blog.com

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 646
    Points : 281
    Points
    281
    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
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant.

    http://mosfootball.over-blog.com

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

    Informations professionnelles :
    Activité : Étudiant

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

    Dit nous plutôt ce que tu veux faire, on t'expliquera comment le faire
    "En essayant continuellement, on finit par réussir. Donc : plus ça rate, plus on a de chances que ça marche" (devise Shadock)
    Application :

    ainsi qu'à regarder la avant de poser une question.

    La rubrique Perl recrute, contactez-moi.

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 646
    Points : 281
    Points
    281
    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
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant.

    http://mosfootball.over-blog.com

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 911
    Points : 1 118
    Points
    1 118
    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 !

    Je ne répond à aucune question technique par MP.

    Si votre problème est réglé, n'oubliez pas Dans tous les cas

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 911
    Points : 1 118
    Points
    1 118
    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

    Je ne répond à aucune question technique par MP.

    Si votre problème est réglé, n'oubliez pas Dans tous les cas

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 646
    Points : 281
    Points
    281
    Par défaut
    Merci pour ton aide ca marche impeccable, par contre j'ai du le modifier un peu, j'ai supprimer le -o dans les deux commandes sort car ils ne les prennaient pas en compte. Encore un grand merci a vous deux
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant.

    http://mosfootball.over-blog.com

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 911
    Points : 1 118
    Points
    1 118
    Par défaut
    On était pas 2, j'ai juste écrit 2 messages

    Je ne répond à aucune question technique par MP.

    Si votre problème est réglé, n'oubliez pas Dans tous les cas

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 646
    Points : 281
    Points
    281
    Par défaut
    Bah y'avait quand même Woufeil qu'a essayé de participer
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant.

    http://mosfootball.over-blog.com

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 911
    Points : 1 118
    Points
    1 118
    Par défaut
    Oups, j'avais po vu

    Je ne répond à aucune question technique par MP.

    Si votre problème est réglé, n'oubliez pas Dans tous les cas

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 1 076
    Points : 2 004
    Points
    2 004
    Par défaut
    Citation Envoyé par griese
    Bah y'avait quand même Woufeil qu'a essayé de participer
    [mode blague]
    Désolé d'avoir été à l'IUT le 15/12/2006 à 09h25 (quand tu as posté ton message) et ainsi de ne pas t'avoir répondu

    Et pi moi aussi j'aurais pu faire le code de MarneusCalgarXP d'abord
    [/mode]

    €dit : en plus c'est même pas vrai que j'aurais pu faire le code, c'est du ksh
    'fin, j'aurais pu faure un équivalent Perl quoi
    "En essayant continuellement, on finit par réussir. Donc : plus ça rate, plus on a de chances que ça marche" (devise Shadock)
    Application :

    ainsi qu'à regarder la avant de poser une question.

    La rubrique Perl recrute, contactez-moi.

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 911
    Points : 1 118
    Points
    1 118
    Par défaut
    Citation Envoyé par Woufeil
    [mode blague]
    Désolé d'avoir été à l'IUT le 15/12/2006 à 09h25 (quand tu as posté ton message) et ainsi de ne pas t'avoir répondu

    Et pi moi aussi j'aurais pu faire le code de MarneusCalgarXP d'abord
    [/mode]

    €dit : en plus c'est même pas vrai que j'aurais pu faire le code, c'est du ksh
    'fin, j'aurais pu faure un équivalent Perl quoi
    Rhoo, te vexe pas Woufeil

    Je ne répond à aucune question technique par MP.

    Si votre problème est réglé, n'oubliez pas Dans tous les cas

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 646
    Points : 281
    Points
    281
    Par défaut
    Non mais c'est pas grave, tu t'es penché sur mon probleme et rien que pour ca je t'en remercie
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant.

    http://mosfootball.over-blog.com

+ 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