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 :

Paralleliser des commandes dans un script


Sujet :

Shell et commandes GNU

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 18
    Par défaut Paralleliser des commandes dans un script
    Salut à tous!

    J'ai une ptite question qui peut sembler basique mais qui me ferait gagner beaucoup de temps de calcul.

    Voila le problème: J'ai une variable PASSERELLE qui contient 1 Identifiant par ligne. Pour chaque identifiant je parcours les fichiers XML correspondants ligne par ligne, puis je recherche un motif et compte le nombre de fois qu'on le trouve.

    Or je parcours tous les fichiers autant de fois qu'il y a de motifs différents (4 pour le moment)
    Du coup c'est super lourd et je voudrai trouver une solution qui me permettrai de m'en passer.

    D'un coté j'ai une liste d'ID, de l'autre une liste de fichiers et je veux compter le nombre de fois qu'on trouve le motif.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    IZAR=`echo $PASSERELLES | while read line;do for file in *$line.xml; do cat $file;done| grep -E '*>[A-F|0-9]{24}A1' | cut -c 44-55 | sort -n | uniq | wc -l;done`
    IZAR2=`echo $PASSERELLES | while read line;do for file in *$line.xml; do cat $file;done| grep -E '*>[A-F|0-9]{24}A2' | cut -c 44-55 | sort -n | uniq | wc -l;done`
    IZAR3=`echo $PASSERELLES | while read line;do for file in *$line.xml; do cat $file;done| grep -E '*>[A-F|0-9]{24}A3' | cut -c 44-55 | sort -n | uniq | wc -l;done`
    IZAR4=`echo $PASSERELLES | while read line;do for file in *$line.xml; do cat $file;done| grep -E '*>[A-F|0-9]{24}A4' | cut -c 44-55 | sort -n | uniq | wc -l;done`
    Voila, si vous avez une idée, je suis preneur!

    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 96
    Par défaut
    J'imagine qu'avec des & à la fin de chaque ligne çà doit pouvoir marcher...

  3. #3
    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
    Bonjour,

    Pour accélérer la vitesse de traitement, il faudrait donner un exemple de ce qu'il y a dans la variable $PASSERELLES, un extrait des fichiers XML et ce qu'il faut obtenir. Il est parfois possible de proposer de très bonnes améliorations...

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/08/2009, 17h09
  2. lancer des commandes dans une session telnet
    Par nidou01 dans le forum Linux
    Réponses: 0
    Dernier message: 03/03/2009, 09h05
  3. Actualisations automatiques des liens dans mon script
    Par Geekolin dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/01/2008, 14h01
  4. [AIX] Gestion des erreurs dans un script
    Par f-k-z dans le forum AIX
    Réponses: 2
    Dernier message: 17/07/2007, 08h45
  5. Entrer des commandes dans une CMD
    Par narsi1 dans le forum C++
    Réponses: 16
    Dernier message: 03/03/2005, 15h10

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