Re: line de commade

Top Page

Reply to this message
Author: Romain Touzé
Date:  
To: Patrick Dupre
CC: Guilde
Subject: Re: line de commade
Bonjour,

On Tue, Mar 13, 2012 at 11:35 AM, Patrick Dupre
<patrick.dupre@???> wrote:
> Bonsoir,
>
> Je lance une ligne de commade:
> awk -f waist.awk Agilent_8164A.asc > tmp.tmp | xmgrace -block tmp.tmp -bxy
> 1:2 -bxy 1:3 & "/bin/rm -f tmp.tmp"
> ou
> awk -f waist.awk Agilent_8164A.asc > tmp.tmp | xmgrace -block tmp.tmp -bxy
> 1:2 -bxy 1:3 & /bin/rm -f tmp.tmp
>


Je ne connais pas xmgrace. Qu'est ce que tu veux faire exactement ? Tu
veux que le graphe se génère au fur et à mesure que les données sont
traitées par awk ?

Pour moi, ta commande ne peux pas fonctionner car tu dirige toute la
sortie de awk vers le fichier, le pipe n'est donc pas utilisé.
Si tu utilises & vers la fin de la commande, c'est que tu veux qu'elle
soit lancée en arrière plan. Si tu veux supprimer tmp.tmp une fois que
le traitement est terminé et sans erreur, il faut utiliser l'opérateur
&&.

avec le fichier tmp :

    awk -f waist.awk Agilent_8164A.asc > tmp.tmp && xmgrace -block
tmp.tmp -bxy 1:2 -bxy 1:3 && /bin/rm -f tmp.tmp


Si tu cherches la fonctionnalité du pipe par contre, je pense qu'il
faut utiliser une fifo

    mkfifo /tmp/my.fifo
    awk -f waist.awk Agilent_8164A.asc > /tmp/my.fifo & #on attend que
les données dans la fifo soient consommées avant d'en remettre. Le &
est important.
    xmgrace -block /tmp/my.fifo -bxy 1:2 -bxy 1:3 #consomme le contenu
de la fifo
    rm /tmp/my.fifo


(pas testé mais en gros c'est ça...)

--
Romain Touzé
09.52.75.40.41