Introduction aux cascades de filtres sous Unix

De Wicri Manuel
Révision datée du 16 janvier 2014 à 17:21 par imported>Jacques Ducloy (Pipes)
logo travaux page en cours d'initialisation

Avant propos

Les exemples donnés dans cette page utilise l'environnement DILIB. Avant toute manipulation ne pas oublier d'initialiser par :

. ~/Dilib/init.sh

Redirections et Entrées sorties standard

Entrées sorties standard

Toute commande Unix peut utiliser :

  • l'entrée standard (stdin)
  • la sortie standard (stdout)

UnixRdir.gif

  • Valeurs implicites (pour un poste de travail) :
  • stdin : le clavier
  • stdout : l'écran

Redirection de l'entrée standard vers un fichier

UnixInputFile.gif

Soit :

aUnixCommand = un programme Unix de type filtre
myFile = un fichier

La commande shell suivante :

aUnixCommand < myFile

appliquera le programme aUnixCommand au fichier myFile et affichera le résultat sur l'écran.

Exemple avec la commande cat

Dans la bibliothèque DILIB, le fichier $DILIB/data/Wicri/Metadata/IsoC2ToPays.tab contient une liste de couples « code ISO - pays » avec la tabulation comme séparateur. La commande :

cat < $DILIB/data/Wicri/Metadata/IsoC2ToPays.tab

recopie le fichier sur l'écran.

Exemple avec la commande grep

La commande grep permet de sélectionner des lignes à partir d'un paramètre donné en première position. Poyr imprimer les noms de pays qui contiennent le mot « Sud », il faut faire :

grep Sud < $DILIB/data/Wicri/Metadata/IsoC2ToPays.tab

Redirection de la sortie standard vers un fichier

La sortie standard peut à son tour être redirigée vers un fichier en utilisant le caractère « > ».

Par exemple, pour mémoriser la date (et l'heure) en cours dans un fichier, il suffit d'écrire :

date > maDate.txt

Combinaison simple des redirections

Entrée et sortie standard peuvent être rédirigées simultanément.

ainsi :

cat < fA > fB

copie le contenu du fichier fA pour créer le fichier fB.

Combinaison de fitres en cascade - le pipe

UnixPipe.gif