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 compliqué shell


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de soledad_001
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 101
    Par défaut Tri compliqué shell
    Il faut que je trie mon fichier dans un shell

    Colonne 11 à 20
    Colonne 25 à 29
    Colonne 1 à 2

    Sauf les enregistrements de début et de fin

    merci de votre aide

  2. #2
    Membre émérite Avatar de jmelyn
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2007
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2007
    Messages : 703
    Par défaut
    C'est très sibyllin comme message.
    Pourrais-tu mettre quelques enregistrements du fichier source et puis comme tu aimerais les avoir au final? Cela permettrait même de faire des tests...

  3. #3
    Membre confirmé Avatar de soledad_001
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 101
    Par défaut
    Oui merci comme cela :

    avant
    10XXX20080808
    215520JULES
    225520JULES
    325520JULES
    213123CESAR
    223123CESAR
    313123CESAR
    99000000784

    après
    10XXX20080808
    213123CESAR
    223123CESAR
    313123CESAR
    215520JULES
    225520JULES
    325520JULES
    99000000784

  4. #4
    Membre émérite Avatar de jmelyn
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2007
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2007
    Messages : 703
    Par défaut
    Sans doute ne dois-je pas bien comprendre, mais tu parles de la colonne 29 alors qu'il n'y a que 11 caractères dans tes lignes.

    Pourrais-tu soit mettre de vrais enregistrements, soit expliquer ce que tu appelles colonne?

  5. #5
    Membre confirmé Avatar de soledad_001
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 101
    Par défaut
    Oui pardon j'ai simplifié pour anonymiser
    j'ai mis dans le test
    colonne 7 à 11
    puis colonne 1 à 2

    Le problème est de ne pas bouger la première et la dernière ligne

  6. #6
    Membre émérite Avatar de jmelyn
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2007
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2007
    Messages : 703
    Par défaut
    OK, j'ai compris maintenant. Voici comment je ferais:

    1) copier le fichier source sans les premier et dernier enregistrements (fichier_in --> temp_1),
    2) reformatter temp_1 pour faire facilement des tris, notamment en séparant les champs par un espace (par exemple), en créant un champ supplémentaire pour les deux chiffres sur lesquels il faut trier, en mettant le champ le plus important en premier (temp_1 --> temp_2),
    3) trier suivant les deux champs, dont l'un en numérique (temp_2 --> temp_3),
    4) reformatter en sens inverse (temp_3 --> temp_4),
    5) remettre les premier et dernier enregistrements (temp_4 --> temp_5),
    6) vérifier que tout est là, correctement trié, à la main (temp_5 --> fichier_out).

    Pour faire tout ça, faut connaître sort et awk. Tu t'en sors ou tu as besoin d'aide?

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

Discussions similaires

  1. Tri shell
    Par JetliMohamed dans le forum Pascal
    Réponses: 25
    Dernier message: 24/12/2012, 17h13
  2. [À télécharger] [Tri] Tri de Shell
    Par 3DArchi dans le forum Téléchargez
    Réponses: 0
    Dernier message: 06/11/2010, 19h47
  3. tri par shell
    Par flower_info dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 03/01/2009, 17h27
  4. GAP du tri Shell
    Par katrena99 dans le forum Algorithmes et structures de données
    Réponses: 0
    Dernier message: 11/01/2008, 19h57

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