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 :

pipes shell tordus


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Par défaut pipes shell tordus
    Bonjour,

    Je cherche à améliorer ma façon d'interagir avec des jobs sur une ferme de calcul (sous GE). Plus précisément, je suis amené à retenir (hold) un certain nombre de jobs puis à les relacher (release) et je cherche à tous les faire d'un seul coup.

    en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qstat | grep foo | cut -d" " -f1
    j'obtiens le jobid de tous les jobs dont le nom contient foo.

    Maintenant je voudrais balancer ça à la commande qhold dont la syntaxe est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qhold job_id1,job_id2,...,job_idi
    Évidemment, les virgules me font ***er

    Y a-t-il un moyen de "piper" ces deux choses pour retenir tous les jobs dont le nom contient foo dun seul coup?

    Merci d'avance

  2. #2
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    pourquoi pas faire une boucle ? dans le genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i in $(qstat | grep foo | cut -d" " -f1)  ; do
    qhold ${i}
    done
    en plus ça permet de dérouler d'autres actions si nécessaires où même de différencier les actions si besoin etc...

  3. #3
    Membre émérite
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qhold $(awk 'BEGIN{a=""} /foo/{a=a","$1} END{ print substr (a, 2)}')
    ?
    Software becomes slower faster than hardware becomes faster
    [size=1]
    http://xrenault.developpez.com

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Par défaut
    Merci de vos réponse,

    Je n'ai jamais utilisé awk, il faudra sans doute que je m'y mette un jour...
    Cela dit, je n'avais simplement pas pensé à faire une boucle, c'est pas vriament un réflexe en lignes de commande mais c'est vrai que ça marche très bien!

    Merci

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

Discussions similaires

  1. [Shell] dir, pipe, et redirection
    Par DonkeyMaster dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 09/06/2008, 18h15
  2. Pipe (interpreteur de commande shell)
    Par Zohard dans le forum C
    Réponses: 3
    Dernier message: 18/05/2008, 22h32
  3. Réponses: 11
    Dernier message: 20/09/2007, 16h58
  4. [debutant] Pipe et Shell-Script
    Par levit dans le forum Linux
    Réponses: 2
    Dernier message: 27/07/2007, 17h54
  5. redirection pipe process perl shell...
    Par r-valkien dans le forum Programmation et administration système
    Réponses: 10
    Dernier message: 11/08/2005, 00h19

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