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 :

récupérer une valeur dans un fichier


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Lille
    Inscrit en
    Février 2011
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lille
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2011
    Messages : 154
    Par défaut récupérer une valeur dans un fichier
    Bonjour,

    J'ai un fichier sous la forme suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    DEFAULT  CBQ f   none     none    203Kbps/ 304Kbps    372KB    284 p   0.00 p
    DEFAULT  CBQ r   none     none    800 bps/26.3Kbps   7.52KB   23.0 p   0.00 p
    EURO  CBQ f   none   6.00Mbps 7.98Kbps/21.7Kbps   20.6KB    291 p   0.00 p
    EURO  CBQ r   none   6.00Mbps 42.6Kbps/ 153Kbps    137KB    343 p   0.00 p
    SAV  CBQ f   none   2.00Mbps 0.00 bps/0.00 bps   0.00 B   0.00 p   0.00 p
    SAV  CBQ r   none   2.00Mbps 0.00 bps/0.00 bps   0.00 B   0.00 p   0.00 p
    BB  CBQ f  100Mbps   none   8.10Kbps/40.7Kbps   16.0KB    203 p   0.00 p
    BB  CBQ r  100Mbps   none   9.40Kbps/41.3Kbps   48.3KB    165 p   0.00 p
    La valeur que je veux récupérer à l'aide d'un script est celle en gras.
    Donc avec un while do je récupère l'information EURO SAV ou BB mais je ne sais pas comment récupérer la valeur en face

    J'ai essayé avec ça mais cela n'est pas pratique car ça va me lire tout le fichier a après je bloque vu que mon script doit pouvoir traiter SAV comme BB comme EURO
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    read -a tableau <  /chemin/du/fichier
                    host=${tableau[0]}
    Si vous auriez une petite piste cela serait super sympa
    PS: mon script est en shell .sh
    Fabien

  2. #2
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Par défaut
    Salut,

    Regarde cut qui permet de séparer des colonne en fonction d'un séparateur donné.
    Par contre un nettoyage des espaces semble s'imposer avant.

    Voici un exemple à peaufiner bien sûr :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed "s/[ ]*/ /g" <le_fichier> | cut -f<numéro_du_champ>
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  3. #3
    Membre très actif
    Homme Profil pro
    Lille
    Inscrit en
    Février 2011
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lille
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2011
    Messages : 154
    Par défaut
    il faut déjà que j'affiche la ligne en fonction de l'argument que j'ai passé en ligne de commande par exemple et je n'y arrive pas

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Salut,

    Ton fichier sera toujours aussi mal formaté ?


  5. #5
    Membre très actif
    Homme Profil pro
    Lille
    Inscrit en
    Février 2011
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lille
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2011
    Messages : 154
    Par défaut
    oui elas

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Essaye avec ça :

    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
    16
    17
    $ cat brol
    DEFAULT  CBQ f   none     none    203Kbps/304Kbps    372KB    284 p   0.00 p
    DEFAULT  CBQ r   none     none    800 bps/26.3Kbps   7.52KB   23.0 p   0.00 p
    EURO  CBQ f   none   6.00Mbps 7.98Kbps/21.7Kbps   20.6KB    291 p   0.00 p
    EURO  CBQ r   none   6.00Mbps 42.6Kbps/153Kbps    137KB    343 p   0.00 p
    SAV  CBQ f   none   2.00Mbps 0.00 bps/0.00 bps   0.00 B   0.00 p   0.00 p
    SAV  CBQ r   none   2.00Mbps 0.00 bps/0.00 bps   0.00 B   0.00 p   0.00 p
    BB  CBQ f  100Mbps   none   8.10Kbps/40.7Kbps   16.0KB    203 p   0.00 p
    BB  CBQ r  100Mbps   none   9.40Kbps/41.3Kbps   48.3KB    165 p   0.00 p
    
    $ sed -n '/EURO\|SAV\|BB/{s/\([^ ]*\) .*bps  *\([^ ]* .\) .*/\1 \2/p}' brol
    EURO 20.6KB
    EURO 137KB
    SAV 0.00 B
    SAV 0.00 B
    BB 16.0KB
    BB 48.3KB

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

Discussions similaires

  1. récupérer une valeur dans un fichier
    Par yoyo-tns dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 26/07/2012, 10h20
  2. Récupérer une valeur dans un fichier.
    Par Playstate dans le forum Débuter
    Réponses: 3
    Dernier message: 20/11/2011, 13h17
  3. Récupérer une valeur dans un fichier
    Par sebbb59 dans le forum Débuter
    Réponses: 10
    Dernier message: 11/01/2009, 15h19
  4. Réponses: 0
    Dernier message: 25/02/2008, 14h23
  5. récupérer une valeur dans un fichier .txt ?
    Par _n1n1_ dans le forum VB.NET
    Réponses: 5
    Dernier message: 27/04/2007, 19h19

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