gro.frxunil a écrit 2 commentaires

  • # Problème résolu. :)

    Posté par  . En réponse au message [Résolu]Copier ou éxécuter un résultat de commande shell (stdout). Évalué à 2.

    Bonjour, et merci à tous pour vos commentaires. :)

    @Pnchbllz :

    grep "sed -e" commandes | sh
    

    Cette commande marche parfaitement, elle fait le job !

    @gUI et @David Marec :

    J'ai testé les commandes proposées (et merci pour l'explication du post de Gérald) mais à priori elles ne fonctionnent pas à tous les coups. Pour cette raison je vais privilégier | sh ou | bash.

    Exemples :

    user@machine:~$ grep "cut" com
    lsof -P -i -n | cut -f 1 -d " "| uniq | tail -n +2
    
    user@machine:~$ lsof -P -i -n | cut -f 1 -d " "| uniq | tail -n +2
    falkon
    
    user@machine:~$ (grep "cut" com)
    lsof -P -i -n | cut -f 1 -d " "| uniq | tail -n +2
    
    user@machine:~$ grep "cut" com | sh
    falkon
    
    user@machine:~$ `grep "cut" com`
    lsof: WARNING: can't stat() tracefs file system /sys/kernel/debug/tracing
          Output information may be incomplete.
    lsof: status error on |: No such file or directory
    lsof: status error on cut: No such file or directory
    lsof: status error on -f: No such file or directory
    lsof: status error on 1: No such file or directory
    lsof: status error on -d: No such file or directory
    lsof: status error on ": No such file or directory
    lsof: status error on "|: No such file or directory
    lsof: status error on uniq: No such file or directory
    lsof: status error on |: No such file or directory
    lsof: status error on tail: No such file or directory
    lsof: status error on -n: No such file or directory
    lsof: status error on +2: No such file or directory
    lsof 4.89
     latest revision: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/
     latest FAQ: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/FAQ
     latest man page: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_man
     usage: [-?abhKlnNoOPRtUvVX] [+|-c c] [+|-d s] [+D D] [+|-E] [+|-e s] [+|-f[gG]]
     [-F [f]] [-g [s]] [-i [i]] [+|-L [l]] [+m [m]] [+|-M] [-o [o]] [-p s]
     [+|-r [t]] [-s [p:s]] [-S [t]] [-T [t]] [-u s] [+|-w] [-x [fl]] [--] [names]
    Use the ``-h'' option to get more help information.
    

    Par contre pour d'autres commandes plus simples ça fonctionne bien. Néanmoins je me servirais sûrement de cette forme dans un script.

    @deuzene

    Merci pour l'idée de l'alias, mais j'ai déjà évoqué son utilisation dans mon premier post, ce n'est pas ce que je cherchais. :)

    Bonne soirée les linuxiens.

  • [^] # Re: simple :)

    Posté par  . En réponse au message [Résolu]Copier ou éxécuter un résultat de commande shell (stdout). Évalué à 1.

    Bonjour et merci pour ton aide. :)

    J'arrive pas à comprendre comment faire, alors je te propose un cas concret :

    Dans mon fichiers (qui s'appelle "commandes") avec plein de commandes dedans, j'ai par exemple celle-ci, qui sert à afficher une arboresence des dossiers :

    ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'
    Je l'extrais du fichier avec grep :

    grep "sed -e" commandes
    ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'
    Sauf que je ne sais pas quoi faire pour l'éxécuter directement, à la place de juste afficher cette ligne. Parce que je suis en console TTY et j'ai pas accès à la souris pour copier/coller cette ligne afin de l'éxécuter.