URL: https://linuxfr.org/forums/programmation-shell/posts/affichage-du-resultat-de-plusieurs-commandes-avec-pipes-resolu Title: affichage du résultat de plusieurs commandes avec pipes [résolu] Authors: philouou Date: 2018年07月18日T10:40:50+02:00 License: CC By-SA Tags: Score: 2 Bonjour, J'aurais besoin de vos lumières... Je voudrais envoyer le résultat de plusieurs commandes (avec pipe) dans Zenity (pour témoigner du bon fonctionnement du script). Pour simplifier je prendrais cet exemple: ```sh borg check -v --repository-only /mnt/sauvegarde1 2>&1 | sed 's/^.*/#&/g' | zenity --progress --pulsate ``` Et là ça ne fonctionne pas... Quelques explications : dans la barre de progression de zenity le message peut être actualisé en lui envoyant des lignes préfixées par # (voir [Zenity](https://help.gnome.org/users/zenity/3.24/progress.html.fr)) d'où la commande sed. Le problème est que le résultat du 1er pipe est envoyé en bloc à zenity, à la fin du traitement, et non pas au fur et à mesure. Zenity n'affiche donc que la dernière ligne quand le traitement des commandes est complètement finit. Cela est vérifiable avec : ```sh borg check -v --repository-only /mnt/sauvegarde1 2>&1 | sed 's/^.*/#&/g' | tr "\n" "o" ``` qui affiche tous les résultats sur une ligne en supprimant des retours à la ligne, donc tr reçoit tous les résultats en un seul bloc et pas des lignes au fur et à mesure (il n'y aurait pas de retour à la ligne dans ce cas). A noter que le problème n'est pas lié à sed puisque j'ai le même comportement avec tee. J'ai beau tourner le problème dans tous les sens je ne trouve pas de solution... Comment faire pour envoyer les résultats des premières commandes à zenity de façon progressive ? Une idée géniale ??? NB: la balise "Code Block" dans l’éditeur de message ne fonctionne pas, je suis allé chercher la balise dans l'aide à l'édition du wiki.

AltStyle によって変換されたページ (->オリジナル) /