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

Shell et commandes GNU Discussion :

Tri dans un fichier - Priorité sur existance de champs


Sujet :

Shell et commandes GNU

  1. #1
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2011
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2011
    Messages : 101
    Points : 134
    Points
    134
    Par défaut Tri dans un fichier - Priorité sur existance de champs
    Bonjour,

    J'ai un fichier qui est composé d'enregistrement de ce format :

    NUMERO DE CLIENT,NUMERO DE TELEPHONE,EMAIL
    1.1000001,0470000000,xxxxxx@gmail.com

    Un client est présent plusieur dans le fichier, mais peut ne pas avoir d'email ou de numéro de téléphone.
    1.1000001,0470000001,
    1.1000001,0470000000,xxxxxx@gmail.com
    1.1000003,0470000009,
    1.1000001,0470000002,
    1.1000002,0470000004,
    1.1000003,0470000010,
    1.1000002,0470000007,yyyyyy@gmail.com
    1.1000002,0470000008,
    1.1000003,,zzzzzzz@gmail.com
    Je voudrais classer les records avec cet ordre de priorité :
    1. Par numéro de client
    2. Mettre les champs avec adresses email en première position (si il y en a une)
    3. Par numéro de téléphone.

    Ce qui donnerai ceci :

    1.1000001,0470000000,xxxxxx@gmail.com
    1.1000001,0470000001,
    1.1000001,0470000002,
    1.1000002,0470000007,yyyyyy@gmail.com
    1.1000002,0470000004,
    1.1000002,0470000008,
    1.1000003,,zzzzzzz@gmail.com
    1.1000003,0470000009,
    1.1000003,0470000010,
    Est-ce possible avec la commande unix sort? Ou doit-on passer par un awk?

    Merci pour votre aide.

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 539
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 539
    Points : 19 361
    Points
    19 361
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sort -t ',' -k1,1 -k3,3r -k2,2 fichier
    le r est là car "rien" est trié avant "quelquechose"
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2011
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2011
    Messages : 101
    Points : 134
    Points
    134
    Par défaut
    Un grand merci, je viens de tester, c'est parfait

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 27/03/2012, 16h58
  2. Réponses: 9
    Dernier message: 21/04/2008, 16h13
  3. Tri dans un fichier txt
    Par kimous dans le forum Langage
    Réponses: 16
    Dernier message: 27/03/2008, 23h12
  4. Réponses: 32
    Dernier message: 17/05/2006, 17h03
  5. Réponses: 6
    Dernier message: 23/02/2006, 13h09

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