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

Applications et environnements graphiques Discussion :

redirection de sortie?


Sujet :

Applications et environnements graphiques

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2002
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 55
    Points : 66
    Points
    66
    Par défaut redirection de sortie?
    Bonjour,

    Pour mes mesures de CPU d'un serveur X, j'ai écris le script suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    top -b | grep -e "[SR] X " | awk '{print $5}'
    ... et ca ne retourne rien.

    Alors que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    top -b | grep -e "[SR] X "
    retourne bien sur mon terminal des lignes telles que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     8142 12 545 121 12 ....
    qui si je les "pipe" à la main dans mon script awk, je récupère bien le 5éme argument.

    Qu'ais-je loupé dans l'histoire? Bon, une solution serait de rediriger la sortie de mon grep dans un fichier puis le balancer à mon script awk, mais pour la beauté du geste je désire vaincre la machine J'ai un peu l'impression qu'il s'agit d'un souci de sortie standard. J'ai essayé des 2>&1 et des 0>&1 après le top, mais ca ne donne rien

    Si vous pouviez me donner un coup de pouce!

    Merci d'avance!

    JC
    Far beyond the clouds...

  2. #2
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Points : 2 505
    Points
    2 505
    Par défaut
    C'est un problème de bufferisation, à la fois dans la sortie de grep et dans l'entrée de awk. Tu peux régler le problème en ajoutant les options "--line-buffered" à grep, et "-W interractive" à awk.

    Celà dit, ça me hérisse les poils à chaque fois que je vois un grep pipé dans un awk. Awk connait les regexp, pas besoin de grep. Et en plus ca règle aussi le problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    top -b | awk '/[SR] X / {print $5}'

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2002
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 55
    Points : 66
    Points
    66
    Par défaut
    Merci beaucoup pour le coup de main! Ca marche!
    Far beyond the clouds...

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

Discussions similaires

  1. Exécuter un script, redirection entrée-sortie
    Par darkrio dans le forum Langage
    Réponses: 9
    Dernier message: 30/03/2007, 14h53
  2. redirection entrée/sortie sous windows en C
    Par alexlecool dans le forum C
    Réponses: 3
    Dernier message: 08/12/2006, 09h05
  3. redirection de sortie
    Par youp_db dans le forum Windows
    Réponses: 7
    Dernier message: 01/09/2006, 11h47
  4. redirection entrée sortie
    Par ludovik dans le forum Réseau
    Réponses: 4
    Dernier message: 20/06/2006, 20h28
  5. Redirection de sortie
    Par Danae dans le forum Linux
    Réponses: 22
    Dernier message: 11/12/2005, 22h32

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