Introduction aux cascades de filtres sous Unix

De Wicri Manuel
Révision datée du 16 janvier 2014 à 17:21 par imported>Jacques Ducloy (Combinaison simple des redirections)
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.

Pipes

UnixPipe.gif