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 :

Probleme de tri alphabétique d'un fichier texte


Sujet :

Langage Perl

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mars 2007
    Messages : 72
    Points : 39
    Points
    39
    Par défaut Probleme de tri alphabétique d'un fichier texte
    Bonjour a tous !
    Je tente en ce moment de trier un fichier texte par ordre alphabétique et je n'y arrive pas
    Je sais que ça doit être tout bête, mais je ne vois pas comment faire.

    J'ai bien entendu utilisé la fonction sort(), mais je dois me tromper quelque part.
    Tout d'abord je récupère les informations que je veux dans un fichier texte, ca ca va, mais après, je ne vois pas comment dire a Perl de trier mon fichier

    Si quelqu'un a une idée, je suis preneur

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 576
    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 576
    Points : 2 020
    Points
    2 020
    Par défaut
    Bonjour.

    En admettant que tu fasses un "bête" tri alphabétique, il te suffit de récupérer toutes les lignes de ton fichier dans un tableau et de trier le tableau.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    my $fic = "schmurtz.log";
    open (FIC, $fic) or die ("y a un schmurtz avec $fic : $!\n");
    @_ = <FIC>;
    sort(@_);
    close(FIC);

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mars 2007
    Messages : 72
    Points : 39
    Points
    39
    Par défaut
    Merci pour ta réponse !
    bon je comprend pas tout, mais je vais essayer

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 576
    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 576
    Points : 2 020
    Points
    2 020
    Par défaut
    Citation Envoyé par Oli_Ifre
    Merci pour ta réponse !
    bon je comprend pas tout, mais je vais essayer
    C'est la fonction sort( ) qui va te permettre de faire le tri des lignes de ton fichier. Mais pour cela, il te faut d'abord récupérer les lignes du fichier.


  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mars 2007
    Messages : 72
    Points : 39
    Points
    39
    Par défaut
    En fait, j'essaye de créer un fichier de la façon suivante :

    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
    #!/usr/bin/perl
     
    open(GROUPES, "/usr/bin/ypcat group|");
    open (UNIX, ">test_unix.txt");
     
    	while(!eof (GROUPES))
    	{
    	chop($ligne = <GROUPES>) ;
    	$unix = split /::/, $ligne;
    	}
     
    	print UNIX "$unix\n";
     
    close(GROUPES);
    close(UNIX);
    Bon malheureusement, ca ne marche plus
    Ensuite, ce que je voulais faire, c'est trier par ordre alphabétique le fichier test_unix.txt.

    Si je comprend bien ce que tu dis plus haut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my $fic = "test_unix.txt"
    , mais ce que je vois pas, c'est si Perl créer un nouveau fichier avec les valeurs triées, ou si il modifie le fichier existant.

    Merci de prendre le temps de me répondre, c'est gentil de ta part

  6. #6
    Membre habitué Avatar de minus
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    153
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 153
    Points : 177
    Points
    177
    Par défaut
    Ce que veux dire Arioch, c'est que pour faire un tri, il faut d'abord avoir un tableau a trier. Donc pour ca tu créais un tableau et tu entre chaque ligne de ton fichier dans celui-ci.

    C'est ce que fait :
    Ensuite tu fait un sort() sur le tableau :

    Ensuite tu fais ce que tu veux du tableau trié : soit ecrire dans un nouveau fichier, soit reécrire sur le fichier que tu avais lu préalablement.
    (Dans son code Arioch te montre juste le triage, il n'utilise pas le tableau)
    Science sans conscience n'est que ruine de l'âme

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mars 2007
    Messages : 72
    Points : 39
    Points
    39
    Par défaut
    Merci à vous 2 ! Mon problème est résolu
    Je peux continuer mon projet grâce à vous !

    A bientôt

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

Discussions similaires

  1. Effectuer un tri à partir d'un fichier texte
    Par Gildas777 dans le forum Pascal
    Réponses: 4
    Dernier message: 19/02/2010, 13h12
  2. Réponses: 4
    Dernier message: 30/11/2008, 19h04
  3. probleme windows form, lecture dans un fichier texte
    Par fbarbin dans le forum Windows Forms
    Réponses: 2
    Dernier message: 08/09/2008, 14h06
  4. Réponses: 0
    Dernier message: 24/08/2008, 10h56
  5. Réponses: 4
    Dernier message: 18/11/2007, 10h20

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