Les pipes |
![]() |
![]() |
Commandes UNIX et redirection |
Un pipe (en français tube de communication) permet de rediriger la sortie d'une commande vers une autre. En d'autres termes, pour rediriger les résultats (la sortie) d'une commande, on a vu qu'on pouvait taper :
commande1 > sortie1
On redirige cette sortie vers une autre commande, ça devient donc une entrée pour cette dernière commande, pour cela vous tapez :
commande2 < sortie1
En fait la syntaxe commande1|commande2 (| étant le symbole de pipe) est totalement équivalente aux deux lignes de commandes précédentes.
Exemple : ls permet la visualisation de fichiers, en tapant ls, on obtient :
fichier1 |
fichier2 |
totofichier |
grep permet la recherche d'une chaîne de caractère dans une liste donnée, en tapant grep toto * (* signifie tous les fichiers, grep recherche la chaîne de caractère toto dans les noms de tous les fichiers), on obtient :
totofichier
On a le même résultat avec le |, en tapant :
ls | grep toto
La première commande aura pour effet de lister le nom des fichiers se trouvant à l'endroit où l'on a tapé la commande, la sortie standard (le résultat de la commande) est donc une liste de nom, elle est redirigée vers la commande grep, qui va y chercher une chaîne de caractère contenant toto. Le résultat est donc aussi:
totofichier