Cours UNIX-chapitre 4

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 11

Linux Chapitre 4: Redirection des Entrées / Sorties

Redirection des Entrées/Sorties

page : 56
Linux Chapitre 4: Redirection des Entrées / Sorties
Les entrées / sorties

Il y a trois sortes d'entrées sorties ou flux de données :

❖ Le premier est l'entrée standard, c'est-à-dire ce que vous saisissez au


clavier.

❖ Le deuxième est la sortie standard, c'est à dire l'écran, plus


précisément le Shell.

❖ Le troisième est la sortie standard des messages d'erreurs consécutifs


à une commande, qui est généralement l'écran.

page : 57
Linux Chapitre 4: Redirection des Entrées / Sorties
Les entrées / sorties (2)

Il est possible de rediriger les flux (en général vers ou depuis un


fichier) :
< : redirection de l'entrée standard
> : redirection de la sortie standard
>> : redirection de la sortie standard à la fin d'un fichier

Exemple :
❖ ls -l /etc > toto : redirection de stdout dans le fichier toto (si toto existe, il
est écrasé)
❖ ls -l /bin >> toto : redirection de stdout à la fin du fichier toto (le fichier
toto n'est pas écrasé)
❖ cat < toto : redirection de l'entrée standard depuis le fichier toto

page : 58
Linux Chapitre 4: Redirection des Entrées / Sorties
Redirection des erreurs

Par défaut les messages d'erreur s'affichent à l'écran (sortie standard par
défaut), vous pouvez modifier ce comportement. On rappelle que la sortie
d'erreur a pour code 2. Vous pouvez sauvegarder dans un fichier vos
messages d'erreur, pour analyse ultérieure, en tapant :

cat mon-fichier 2> fichier-erreur


ou
cat mon-fichier >& fichier-erreur

page : 59
Linux Chapitre 4: Redirection des Entrées / Sorties
Les tubes (pipes)

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

page : 60
Linux Chapitre 4: Redirection des Entrées / Sorties
Les pipes (2)
• Il s’agit de rediriger la sortie d’une commande vers l’entrée d’une autre avec
l’opérateur « | »
stdin commande stdout stdin commande stdout
1 2
• Élaborer des commandes complexes en une seule ligne
– Exemple : Filtrer le résultat de la commande « ls » avec « grep »
ls –l /etc | grep ‘mp3’

• On obtient la liste des fichiers contenant « mp3 »


stdin stdout stdin stdout
ls -l grep mp3

root@localhost:~ # ls –l /etc | grep ‘mp3’


-rw-r--r-- 1 root root 0 2008-08-27 15:16 morceau1.mp3
-rw-r--r-- 1 root root 0 2008-08-27 15:16 morceau2.mp3
-rw-r--r-- 1 root root 0 2008-08-27 15:16 morceau3.mp3
-rw-r--r-- 1 root root 0 2008-08-27 15:16 morceau4.mp3

page : 61
Linux Chapitre 4: Redirection des Entrées / Sorties
La commande tr
tr [options] chaine1 chaine2
tr = Transposer ou éliminer des caractères substitution ou suppression de
caractères sélectionnés.
Un caractère appartenant à chaine1 est remplacé par le caractère de
même position dans chaine2.
Options principales:
-d : suppression des caractères sélectionnés
-s : ‘aaaaa’ dans chaine1 -> ‘a’ dans chaine2
-c : remplace jeu1 par son complément (tous les caractères n’appartenant
pas à chaine1)

❖ Format des expressions de chaine :


• [a-z] = segment de 26 caractères allant de ‘a’ à ‘z’
• [a*n] = a……a (n fois)
• \xyz = désigne le caractère de code octal xyz
• ‘[: lower :]’ = lettre minuscule
• ‘[: upper :]’ = lettre majuscule

page : 62
Linux Chapitre 4: Redirection des Entrées / Sorties
Exemple

page : 63
Linux Chapitre 4: Redirection des Entrées / Sorties
La commande uniq
uniq [options] fichier
Élimine les lignes dupliquées dans un fichier trié par défaut.
Options principales:
-d : affiche seulement les lignes dupliquées
-u : affiche seulement les lignes non dupliquées (par défaut)
-c : donne le nombre d’exemplaires de chaque ligne

$ cat fichier $ cat fichier | uniq $ cat fichier | uniq -d


un un deux
deux deux quatre
deux trois $
trois quatre
quatre cinq
quatre $
cinq
$
page : 64
Linux Chapitre 4: Redirection des Entrées / Sorties
La commande cut
cut [options] fichier
Supprime une partie de chaque ligne d’un fichier par défaut :
Options principales:
-d separateur : le séparateur des champs
-f listes de champs : les champs séparés.
-c : Sélection sur le rang du caractère.
-b : Sélection sur le no d’octet.
-s (avec -f) : supprime les lignes vides

$ cat fichier $ cat fichier | cut –d : -f 1,2


0: Casablanca : Maroc : 0522 0: Casablanca
1: Rabat : Maroc : 0537 1: Rabat
2: Fes : Maroc : 0535 2: Fes
3: Marrakech : 0524 3: Marrakech
$ $

page : 65
Linux Chapitre 4: Redirection des Entrées / Sorties
La commande paste
paste [options] fichier
Regroupe les lignes du même n° de différents fichiers.

$ cat fichier1 $ paste fichier1 fichier2


0 : Casablanca : 0 : Casablanca : Maroc : 22
1 : Rabat : 1 : Rabat : Maroc : 37
2 : Fes : 2 : Fes : Maroc : 35
Maroc : 24 : Maroc : 24 : 3 : Marrakech
$
$ cat fichier2
Maroc : 22
Maroc : 37
Maroc : 35
3 : Marrakech
$
page : 66

Vous aimerez peut-être aussi