Cours Linux Les Filtres en PDF (Intermédiaire)
Linux Les Filtres : Ce qu'il faut savoir. Les filtres sous Linux regroupent les utilitaires de traitement en flux (grep, sed, tr, etc.) et les mechanisms d'expressions rationnelles permettant d'extraire, transformer ou sélectionner des lignes dans des fichiers texte. Maîtriser ces filtres est essentiel pour l'administration système, l'analyse de logs et l' automatisation de tâches en shell ; ce document de référence fournit un PDF gratuit avec exemples concrets et commandes exploitables immédiatement.
🎯 Ce que vous allez apprendre
- Ensembles de caractères et classes — compréhension précise des constructions
[a-z_], des négations[^a-z]et des plages0-9, indispensable pour écrire des motifs robustes. Vous saurez construire des patterns ciblés pour filtrer des fichiers de configuration et des logs sans recourir à des remplacements approximatifs. - Expressions rationnelles et quantificateurs — sens des ancres
^et$, opérateurs comme.*,*,+et?et leur impact sur la correspondance (greedy vs minimal). Résultat attendu : identifier précisément des lignes commençant, finissant ou contenant des motifs complexes et éviter des faux positifs lors d'extractions. - Grep : adresses, options et usage avancé — utilisation de la syntaxe d'adresses, des options courantes
-v,-c,-net des expressions régulières pour rechercher de façon sélective. Vous pourrez filtrer l'entrée standard, compter des occurrences et inverser des sélections dans des scripts d'administration. - Sed et substitutions en flux — formation aux commandes
s/expression/texte/flags, à l'échappement des métacaractères et à l'usage du flaggpour remplacer toutes les occurrences. Compétence visée : éditer automatiquement des fichiers de configuration (ex :/etc/rc.conf) sans ouvrir d'éditeur interactif. - Groupes capturants et références arrières — syntaxe de capture
\( ... \)et réutilisation via\1dans sed pour des remplacements basés sur le contexte. Vous saurez effectuer des transformations avancées, comme répéter ou réorganiser des sous‑motifs dans une ligne. - Exemples pratiques et cas d'usage — analyses d'extraits réels (ex :
/etc/services,/etc/rc.conf) montrant des pipelines typiques et la combinaison degrep|sed. À la clé : modèles réutilisables pour automatiser l'extraction et la correction de paramètres système.
📑 Sommaire du document
- Filtres
- Les expressions rationnelles
- Sous ensembles
- Caractères spéciaux
- Grep
- Commandes couramment utilisées
- Sed
- Exemples
💡 Pourquoi choisir ce cours ?
Document succinct et ciblé signé Thierry Vaira, utile comme aide‑mémoire pratique pour administrateurs et étudiants systèmes. L'approche privilégie les exemples de commandes et les motifs exploitables plutôt que la théorie abstraite, avec des extraits tirés de fichiers système réels. Sa concision (2 pages) rend l'accès rapide aux syntaxes essentielles (addresses grep, flags, substitutions sed) et facilite l'intégration directe dans des scripts.
👤 À qui s'adresse ce cours ?
- Public cible : administrateurs système, techniciens Unix/Linux, étudiants en systèmes et développeurs qui manipulent régulièrement des fichiers de configuration et des logs en ligne de commande.
- Prérequis : connaissance de la ligne de commande Unix/Linux (shell
bash), capacité à éditer et lire des fichiers texte, notions de base des expressions rationnelles et des redirections d'entrée/sortie.
❓ Foire Aux Questions (FAQ)
Comment grep interprète-t-il les adresses comme 10,$ ? En pratique, les adresses permettent de limiter l'action au jeu de lignes spécifié : 10,$ signifie de la dixième à la dernière ligne ; l'outil appliquera alors le filtrage uniquement sur cette plage.
Comment utiliser une référence arrière dans sed pour réutiliser un groupe capturant ? Dans sed (regex basiques), on définit un groupe capturant avec \( ... \) et on réinsère son contenu avec \1 dans la partie remplacement. Il faut veiller à échapper les métacaractères et ajouter le flag g pour remplacer toutes les occurrences sur une ligne lorsque nécessaire.
Commandes complémentaires : sort, wc, head et tail
sort— trie les lignes d'un flux selon l'ordre lexicographique ou numérique (-n), utile pour regrouper des entrées avant un comptage.wc— compte les lignes, mots ou octets (-l,-w,-c) ; s'utilise pour obtenir rapidement des métriques dans un pipeline.head— extrait les premières lignes d'un flux (-n), pratique pour vérifier un échantillon sans parcourir tout le fichier.tail— extrait les dernières lignes d'un flux, avec option-fpour suivre un fichier en temps réel.tr— transforme ou supprime des caractères (ex : suppression des retours chariot, conversion en minuscules), utile pour normaliser un flux avant filtrage.
Maîtriser les pipelines : combiner grep, sort et wc
Les pipelines permettent d'assembler des filtres pour obtenir des statistiques ou des classements. Par exemple, pour compter et trier les occurrences d'un motif dans un log, on combine grep, sort et wc (ou uniq -c) afin d'obtenir un classement exploitable dans des rapports ou des alertes automatisées. L'usage de sort -n puis tail ou head permet d'isoler les valeurs extrêmes.
# Exemples :
grep -i 'error' /var/log/syslog | sort | uniq -c | sort -nr | head -n 10
grep -i 'timeout' /var/log/app.log | wc -l
Exemples de TP : filtrage de logs et fichiers système
Ateliers pratiques ciblés sur des opérations courantes : extraire utilisateurs, compter occurrences d'erreurs et modifier des paramètres via sed. Chaque TP inclut le jeu d'exemples, la commande attendue et des variantes pour gérer cas limites (espaces, séparateurs non standards, encodages). Les exercices favorisent la manipulation de flux, la combinaison grep/sort/wc et la sécurisation des remplacements automatisés.
Scénario de TP : à partir d'un fichier système, isoler les utilisateurs actifs, trier les résultats et produire un résumé. Utilisez la commande sort pour trier, compter les lignes wc pour obtenir des métriques, et le filtre head tail pour vérifier les extrémités. Ce TP linux filtres met l'accent sur la manipulation de flux et les bonnes pratiques de traitement en pipeline. Téléchargez le support d'exercice pour suivre pas à pas les commandes et variantes.
Exercices pratiques (TP)
- Extraire les utilisateurs du fichier
/etc/passwd: fournir une commande qui liste uniquement les noms d'utilisateurs, les trie et affiche les 20 premiers. Objectifs : maîtrise des séparateurs, usage decut/awk,sortethead. - Compter les occurrences d'une erreur dans un log : rechercher un motif (ex : "ERROR"), normaliser la casse, compter les lignes avec
wc -let présenter un top 10 des messages les plus fréquents en combinantgrep,sort,uniq -cetsort -nr. - Modifier un port dans un fichier de configuration via
sed: remplacer la valeur du port (ex : 8080 → 9090) en préservant un fichier de sauvegarde. Exercice pratique sur l'échappement des métacaractères et la génération d'une commande sûre pour les scripts d'administration.