Vous êtes sur la page 1sur 3

Traitement de fichiers et flux de redirection

Traitement des fichiers :


- cat : afficher tout le fichier
- less : afficher le fichier page par page
- head : afficher le début du fichier
- tail : afficher la fin du fichier
- head –n $ : afficher les $ premières lignes
- tail –n $ : afficher les $ dernières lignes
- wc : compter le nombre de lignes, mots et octets dans un fichier
- wc –l : afficher le nombre de lignes dans un fichier
- wc –L : afficher la longueur de la ligne la plus longue du fichier.
- cut : afficher des zones spécifiques d'un fichier
- cut –c$ : afficher la $ème colonne
- cut –c$1-$2 : afficher les colonnes de $1 à $2.
- cut –d[caractère] : définir un séparateur de champ [caractère]
- cut –d[caractère] –f$ : définir un séparateur de champ [caractère] et afficher le $ème
champ ; exemple : cut –d : -f6 fichier  affichera le 6eme champ du fichier dont le
séparateur de champs est le caractère double point (``:'').
- sort : trier le fichier par ordre croissant
- sort –r : trier le fichier par ordre décroissant.
- uniq : supprimer les lignes dupliquées dans un fichier (pour les supprimer, ces lignes
doivent être sucessives).
- uniq –c : En plus de la suppression des lignes, elle affiche le nombre d’occurrence de
chaque ligne.
- grep motif fichier : rechercher le motif motif dans le fichier fichier
- grep –i motif fichier : rechercher le motif motif dans le fichier fichier en ignorant la
casse.
- [grep –c motif fichier] ou [grep --count motif fichier] : afficher le nombre
d’occurrences du motif dans le fichier fichier.
- grep ^[motif] fichier : rechercher au niveau de fichier les lignes commençant par le
motif [motif]
- grep [motif]$ fichier : rechercher au niveau de fichier les lignes se terminant par le
motif [motif]
- grep -v [motif] : rechercher les lignes ne contenant pas le motif [motif]
- tr [motif1] [motif2] : transformer le motif [motif1] par le [motif2] dans le fichier
- Diff [fichier1] [fichier2] : comparer les deux fichiers et préciser les modifications à
effectuer au niveau de chacun d’eux pour les amener à se ressembler. Les modifications à
apporter sont données sous forme de message contenant les lettres :

 a : add
 d :delete
 c :change

exemple :

 3a4,7 indique que après la troisième ligne du premier fichier doivent être incrustées les
lignes 4 à 7 du second. Attention, les messages suivants indiqueront les numéros des lignes
sans tenir compte des incrustations qui auront éventuellement été apportées.
 5,8d4 indique que les lignes 5 à 8 du premier fichier doivent être supprimées, car elles
n'existent pas derrière la ligne 4 du second.
 10,15c12,17 indique que les lignes 10 à 15 du premier fichier doivent être intégralement
changées contre les lignes 12 à 17 du second.

Dans les trois cas de figure, les lignes précédées du signe ``<'' se rapportent au premier
fichier, et les lignes précédées du signe ``>'' se rapportent au second.

Flux de redirection :
En tapant une commande sous linux, on peut soit afficher le résultat au niveau de la console
(sortie standard), soit la rediriger vers un fichier ou vers une entrée d’une autre commande créant
une chaine de commandes.
- [commande] > [fichier] : rediriger le résultat vers le [fichier] et l'écrase s'il existe
déjà
- [commande] >> [fichier] : rediriger le résultat à la fin du fichier [fichier] et le crée
s'il n'existe pas

 Redirection des erreurs

Toutes les commandes produisent deux flux de données différents :


 La sortie standard : pour tous les messages et résultats (sauf les erreurs)

 La sortie d'erreurs : pour toutes les erreurs.

La sortie standard est redirigée tel on l’a vu ci-dessus avec les opérateurs > et >>. Par contre,
dans l’échéance d’une erreur, celle-ci est affichée au niveau de la console et non pas redirigée
vers le fichier escompté.
Si on souhaite rediriger les erreurs, il suffit de mettre 2> ou 2>> au lieu de > et >>. De même que
ceux de la redirection de la sortie :
- [commande] 2> [fichier] : rediriger l’erreur vers le [fichier] et l'écrase s'il existe déjà
- [commande] 2>> [fichier] : rediriger l’erreur à la fin du fichier [fichier] et le crée s'il
n'existe pas
NB : on peut rediriger les erreurs et les résultats de la commande vers un seul fichier :
[commande] > [ou >>] [fichier] 2>&1 : grâce à cette commande, le flux de la sortie
standard et celui des erreurs seront redirigés vers un seul fichier [fichier]
- [commande] < [fichier] : lire depuis le fichier [fichier]
- [commande] << [motif] : lire depuis le clavier progressivement, ligne par ligne.
Toutes ces lignes seront envoyées à la commande lors de la saisie du mot-clé [motif].

 Chaines de commandes | :

[commande1] | [commande2] : la [commande2] prend comme entrée la sortie de


la [commande1]

Ce pipe de redirection peut être saisi plusieurs fois dans seule commande créant
ainsi une chaine de commande récursive tel que : la ième commande prend en
entrée la sortie de la (i-1)ème commande saisie.