Redirections
Accès en lecture par redirection de l'entrée
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
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
catpeut 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.
A NOTER : avec un seul fichier les commandes :
etcat Formation/TP1/exo.txt 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
head
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
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.