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 :

concaténation de fichiers


Sujet :

Langage Perl

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 32
    Points : 16
    Points
    16
    Par défaut concaténation de fichiers
    salut a tous
    je voudrais écrire un script perl qui copie le contenu de plusieurs fichiers et les concaténe dans un autre fichier a créer .comme si on fait avec la commande more *.prt > fich.out
    mais il faut que ca soit ligne par ligne (chaque ligne de chaque fichier est copiée telle quelle est et représente une ligne du fichier fich.out)
    les fichiers source "*.prt" se trouvent dans le méme repertoire .
    j'éspère que j'ai été clair dans l'explication e mon problème.
    je vous remercie pour votre aide

  2. #2
    Membre régulier Avatar de elvivo
    Inscrit en
    Mai 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 105
    Points : 104
    Points
    104
    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
     
    open(DESTFILE, "> $DestPath" ;
     
    foreach my $Path (@PathList)
    {
        open(SRCFILE, $Path) ;
        while (<SRCFILE>)
        {
            print DESTFILE $_ ;
        }
        close(SRCFILE) ;
    }

    Ca devrait faire ce que tu veux.
    @PathList doit contenir la liste des chemins vers tes fichiers sources.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 172
    Points : 208
    Points
    208
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #! /usr/bin/perl
     
    use warnings;
     
    open ECRIRE,">fichier.out" or die "E/S : $!\n";
    @ARGV = glob "*.txt" or die "Il n'y a pas des fichiers .txt\n";
     
    while (<>){
        print ECRIRE;
    }
    close ECRIRE;
    lami20j

    P.S. Il faut remplacer .txt avec l'extension que tu utilises

  4. #4
    Membre régulier Avatar de elvivo
    Inscrit en
    Mai 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 105
    Points : 104
    Points
    104
    Par défaut
    Bien vu. Je connaissais pas la fonction glob.

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 32
    Points : 16
    Points
    16
    Par défaut
    bonjour
    merci pour votre aide,
    j'ai executé le script , ca marche , mais dans le fichier de sortie tous les fichiers sont concaténés directement (sans retour a la ligne)
    comment y remedier a ça !!
    merci por votre aide

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 172
    Points : 208
    Points
    208
    Par défaut
    Salut,

    tu ajoutes un saut de ligne "\n"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    print ECRIRE "$_\n";
    Tu n'ajoutes par hazard un chomp? Puisque normalement les lignes ont déjà un caractère "\n" à la fin.

    lami20j

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

Discussions similaires

  1. [D7][WIN32]concaténer deux fichiers
    Par Herk77 dans le forum Delphi
    Réponses: 14
    Dernier message: 06/10/2006, 15h59
  2. Concaténation de fichiers
    Par domiq44 dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 29/09/2006, 09h57
  3. Concaténer deux fichiers binaires
    Par mickael.be dans le forum Delphi
    Réponses: 7
    Dernier message: 30/07/2006, 13h11
  4. [debutant] concaténation de fichiers
    Par Spyco dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 13/07/2005, 10h52
  5. Comment concaténer plusieurs fichiers en un ?
    Par souch dans le forum Langage
    Réponses: 16
    Dernier message: 14/12/2004, 18h58

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