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

Linux Discussion :

awk - min et max d'un fichier


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 25
    Par défaut awk - min et max d'un fichier
    Bonjour à tous,

    Je débute en programmation Linux (avec mon premier job) et je cherche à programmer une fonction afin de traiter plus rapidement des fichiers de calculs (programmation bash).

    Mon objectif est le suivant : Je dispose d'un fichier de plusieurs colonnes (le nombre de colonnes est variable) de la forme suivante :
    temps fonction1 fonction2
    0.0000 0.0000 0.0000
    0.1000 5.0000 -10.000
    ...

    Je cherche à récupérer pour chacune des fonctions le min et le max avec le temps au bout duquel on obtient ces valeurs.

    Pour le moment, je suis parti sur la fonction awk :
    awk '{ print $2 }' monFichier | sort -n | sed -n '$p'

    mais je ne vois pas du tout comment je pourrais faire pour :
    -récupérer le temps correspondant au min ou max en même temps que la valeur.
    -faire une boucle du genre "for i= (1ère colonne) to (dernière colonne) pour récupérer tous les min et les max de mon fichier.

    Surtout, ne vous embêter pas à me donner une solution toute faite. Je cherche surtout à apprendre la programmation bash. Des petits indices pour y arriver, ce serait déjà pas mal !

    Je vous remercie d'avance.

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 840
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par FlorianBreizh Voir le message
    Bonjour à tous,

    Je débute en programmation Linux (avec mon premier job) et je cherche à programmer une fonction afin de traiter plus rapidement des fichiers de calculs (programmation bash).

    Mon objectif est le suivant : Je dispose d'un fichier de plusieurs colonnes (le nombre de colonnes est variable) de la forme suivante :
    temps fonction1 fonction2
    0.0000 0.0000 0.0000
    0.1000 5.0000 -10.000
    ...

    Je cherche à récupérer pour chacune des fonctions le min et le max avec le temps au bout duquel on obtient ces valeurs.

    Pour le moment, je suis parti sur la fonction awk :
    awk '{ print $2 }' monFichier | sort -n | sed -n '$p'

    mais je ne vois pas du tout comment je pourrais faire pour :
    -récupérer le temps correspondant au min ou max en même temps que la valeur.
    -faire une boucle du genre "for i= (1ère colonne) to (dernière colonne) pour récupérer tous les min et les max de mon fichier.

    Surtout, ne vous embêter pas à me donner une solution toute faite. Je cherche surtout à apprendre la programmation bash. Des petits indices pour y arriver, ce serait déjà pas mal !

    Je vous remercie d'avance.
    Pour récupérer le temps, faudrait surtout ne pas le perdre.
    En affichant $1 et $3 dans ton awk, tu conserveras tes données.
    En utilisant "sort -k2" tu trieras ces données sur le 2° champ

    Si tu veux boucler sur les mots de ta ligne dans ton awk, tu peux faire comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for (i=1; i <= NF; i++)
    {
        printf("$i ");
    }
    printf("\n");
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 25
    Par défaut
    Merci!

    c'est exactement ce dont j'avais besoin!

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 09/11/2012, 16h04
  2. awk avec fonction min et max
    Par pontarose dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 31/07/2011, 19h53
  3. min et max
    Par sorinexp dans le forum Access
    Réponses: 6
    Dernier message: 28/11/2005, 19h37
  4. [XPath] Récupérer l'ID max dans un fichier XML
    Par Phach dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 28/07/2005, 13h57
  5. [3D'S MAX] importer des fichiers dans OpenGL
    Par black is beautiful dans le forum OpenGL
    Réponses: 3
    Dernier message: 30/04/2005, 13h45

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