Un filtre est une commande qui prend ses données d’entrée dans le flux standard (clavier) et envoie ses données de sortie dans le flux standard (écran) également.
- L’entrée ET la sortie d’un filtre peuvent donc être redirigées
- Les filtres constituent les “briques de base“ des procédures de commande (scripts)
- Les filtres jouent un rôle très important sous UNIX grace la notion de tube ( pipe)
Notion de Tube (ou pipe)
Un ‘pipe’ est un procédé original : la sortie d’une commande constitue l’entrée d’une autre.
La commande ‘pipe’ utilise le caractère ‘pipe’ : ‘|’
La syntaxe est la suivante :
$> commande1 | commande2 [ | commandeN ]
En première approximation, le ‘pipe’ de commande1 et commande2 est équivalent (1) à :
$> commande1 > tmp
$> commande2 < tmp
$> rm tmp
(1) En fait, le pipe est beaucoup plus performant var se passe en mémoire et effectue plusieurs des actions sous-jacentes en parallèle.
exemple de commandes simples avec ‘pipes’ :
$> # liste de fichiers paginée
$> ls -R |more
$> # affichage du contenu d’un fichier paginé
$> cat mon_fic| more
$> # équivallent à
$> more mon_fic
$> # dénombrement des fichiers .php du répertoire courant
$> ls *.php |wc