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 :

recherche une fonction shell


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 58
    Par défaut recherche une fonction shell
    bonjour

    je suis à la recherche d'une fonction ou une méthode pour chercher la valeur maximum dans un fichier ou il n'y a qu'une série de nombre à la ligne

    c'est pour un script bash qui lit un fichier entre.dat

    de la forme suivante

    112
    15475
    212
    78753
    12574


    je cherche donc une methode en bash qui me sortirais 78753 la valeur max du fichier dans une variable, ainsi que le nombre de ligne.

    Merci d'avance.

  2. #2
    Membre éclairé Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Par défaut
    Salut,

    Un truc comme ceci devrait marcher...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    max=0
    for ligne in `cat ./le_fichier`; do
    # Vérification de la ligne pour être sur que ce soit un numérique
        if  [ $(echo $ligne | grep -v [a-Z] | wc -l) -eq 0 ]; then
    # On teste si la ligne est plus grande que l'actuel maximum
              if  [[ $ligne -gt $max ]]; then
                   max=$ligne
              fi
        fi
    done
    echo "Le maximum est : "$max
    Bonne soirée et bonne chance.

  3. #3
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 963
    Par défaut
    Citation Envoyé par astroflo Voir le message
    bonjour

    je suis à la recherche d'une fonction ou une méthode pour chercher la valeur maximum dans un fichier ou il n'y a qu'une série de nombre à la ligne

    c'est pour un script bash qui lit un fichier entre.dat

    de la forme suivante

    112
    15475
    212
    78753
    12574


    je cherche donc une methode en bash qui me sortirais 78753 la valeur max du fichier dans une variable, ainsi que le nombre de ligne.

    Merci d'avance.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sort entre.dat | tail -n 1

  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
    Un petit ajout au code de JeitEmgie. S'il est exact que le code sortirait le bon nombre avec l'exemple des données fournies, il suffirait d'y placer le nombre 8 pour poser un problème: le sort est alphabétique et non numérique, donc 8 sortirait au lieu de 78753. Après correction, le code devient:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sort -n entre.dat | tail -1
    que l'on peut appliquer avec le fichier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    112
    15475
    212
    78753
    12574
    8

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 58
    Par défaut
    Merci,

    j'avais essayer le
    [CODE]sort entree.dat | tail -n 1 /CODE]

    et ca ne marchais pas donc merci bcp

Discussions similaires

  1. je recherche une fonction pour trouver le minimum
    Par laxe13 dans le forum Langage
    Réponses: 1
    Dernier message: 03/08/2008, 00h55
  2. Réponses: 3
    Dernier message: 08/04/2008, 20h50
  3. [MySQL] recherche une fonction
    Par ctrl+z dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 26/04/2007, 15h22
  4. Recherche une fonction remplaçante :)
    Par baleiney dans le forum Langage
    Réponses: 10
    Dernier message: 28/06/2006, 17h23
  5. Réponses: 3
    Dernier message: 20/09/2005, 17h00

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