Cette page est en cours de rédaction.
Apportez votre aide…

Ceci est une ancienne révision du document !


Pipe

Un "pipe" ou "tuyau" permet de passer le résultat d'une commande shell à une autre commande shell.

Parce qu'on peut pas faire autrement

C'est le cas notamment lorsqu'on veut trier les données envoyées par une commande :

      du | sort -nr | less

Pour aller plus vite

(enfin quand on sait faire ^_^)

Par exemple :

     tar --create --file foo.tar foo
     bzip2 foo.tar

peut être fait en une fois :

     tar  --create --file  - foo | bzip2 > foo.tar.bz2

Mais c'était en fait inutile, car la commande tar accepte l'option de compression –bzip2 :

     tar --bzip2  --create --file foo.tar.bz2 foo/

Par contre, si en plus on veut ajouter split :

     split --numeric-suffixes --bytes=3k foo.tar.bz2 foo.tar.bz2.

Et bien il vaut mieux raccourcir l'ensemble :

      tar --bzip2 --create foo/ | split --bytes=3k --numeric-suffixes  - foo.tar.bz2.
  • pipe.1241900408.txt.gz
  • Dernière modification: Le 18/04/2011, 14:49
  • (modification externe)