Newer
Older
cours-unix-shell / bases / README.md

Redirections et Pipes

Redirections

Accès en lecture par redirection de l'entrée

entrée et sortie standard d'une commande Unix

Entrées sorties standard

Toute commande Unix peut utiliser :

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

Valeurs implicites (pour un poste de travail) :

  • stdin : le clavier
  • stdout : l'écran

Redirection de l'entrée standard vers un fichier

redirection de l'entrée standard d'une commande unix

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.

Redirections et quelques commandes Unix

cat

Utilisée sans paramètres, recopie le fichier en entrée sur la sortie standard :

cat < Formation/TP1/exo.txt

recopie sur l'écran le fichier Formation/TP1/exo.txt.

cat - avec paramètres

La commande cat peut s'utiliser avec une liste de fichiers en paramètres.
Ainsi :

cat Formation/TP1/exo1.txt Formation/TP1/exo2.txt

"concatène" les fichiers sur stdout.

À NOTER : avec un seul fichier les commandes :

cat Formation/TP1/exo.txt

et

cat < Formation/TP1/exo.txt

peuvent être considérées comme équivalentes.

sort

Trie les lignes d'un fichier dans l'ordre lexicographique ASCII.

Exemple :

sort < Formation/TP1/table.txt

grep

Sélectionne les lignes qui contiennent une expression donnée en paramètre.
Syntaxe simplifiée :

grep expression < file

Exemple :

grep 152X < Formation/TP1/issn.txt

Syntaxe simplifiée :

head [ -number ] < file
  • sans paramètre, sélectionne les 10 premières lignes
  • avec paramètre, sélectionne le nombre de lignes désignées par le paramètre

Exemple :

head -5 < Formation/TP1/file.xml

Redirection de la sortie standard vers un fichier

La sortie standard peut à son tour être redirigée vers un fichier.
2 possibilités :

commande > fichier

le résultat de la commande va servir à créer ou à remplacer (par écrasement) le contenu du fichier donné.

commande >> fichier

le résultat de la commande va servir à créer (la première fois) ou à rallonger le contenu du fichier donné (concaténation).

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

(image manquante)pipe de deux commandes unix

Le mécanisme appelé pipe permet d'enchaîner des commandes en affectant la sortie de l'une à l'entrée de la suivante. Sa forme générale est :

c0 < fA | c1 | c2 | ... | cn > fB

Le fichier fA est lu et traité par la commande c0, le résultat est alors traité par c1, et ainsi de suite jusqu'à la commande cn pour laquelle le résultat est écrit dans le fichier fB.

Précédent - Suivant