Cours Linux - Les filtres en PDF (Intermédiaire)
Linux — Les filtres : définitions et portée. Ensemble d'outils en ligne de commande (grep, sed et expressions rationnelles) permettant d'extraire, filtrer et transformer du texte dans des fichiers et flux. Ces filtres interviennent au cœur de l'administration système Linux pour l'analyse, l'automatisation et le traitement des journaux, facilitant diagnostics, édition non interactive et scripts d'automatisation.
🎯 Ce que vous allez apprendre
- Classes de caractères et ensembles — maîtrise des notations
[a-z_],[0-9]et de la négation[^a-z]pour décrire précisément des jeux de caractères. Construction de motifs robustes pour identifier noms, chiffres ou tokens dans fichiers de configuration et logs. - Ancrages et quantificateurs — utilisation des métacaractères d'ancrage
^et$et des quantificateurs.*,*,+,?pour rédiger des regex ciblées réduisant les faux positifs lors de recherches. - Groupes et rétro‑références — parenthèses d'assemblage
(...)et backrefs (\1) pour repérer répétitions ou appliquer des remplacements contextuels, utiles sur journaux et fichiers de configuration. - Recherche avec grep — options pratiques de
grep(-v,-c, lecture depuis stdin) pour filtrer des flux, compter des occurrences et inverser des sélections lors d'audits. - Édition de flux avec sed — substitutions
s/regexp/texte/flags, flaggpour remplacements globaux et fonctionnement non interactif dans les pipelines.
📑 Sommaire du document
- Cours Linux - Les filtres en PDF (Intermédiaire)
Tutoriel Linux : Pourquoi utiliser ces filtres ?
Les filtres sont des outils centraux pour l'administration système : ils automatisent l'extraction d'informations critiques, le prétraitement des logs et la préparation de données pour les outils de supervision. En production, leur emploi réduit le temps d'analyse des incidents en facilitant le tri, l'agrégation et l'extraction d'adresses IP ou d'identifiants. Dans le cadre de l'administration système globale, ces techniques s'intègrent aux procédures de collecte et d'alerte pour améliorer la disponibilité et la traçabilité — références pratiques couvertes dans ce tutoriel linux grep sed, avec exemples d'expressions rationnelles linux pour le filtrage de logs.
Tutoriel Linux : Maîtriser les filtres
Approche pratique pour maîtriser grep et sed : construire d'abord des expressions rationnelles précises, tester sur des fichiers de test, puis intégrer les commandes dans des pipelines. Pour réduire les risques en production, validez chaque étape sur un environnement isolé, utilisez grep -n pour lister les lignes pertinentes avant substitution et préservez des sauvegardes lors d'édition de fichiers. Ce support concis facilite l'application immédiate dans des scripts opérationnels suivant des bonnes pratiques d'administration.
Différences entre grep et egrep
egrep correspond historiquement à grep -E : il active les expressions rationnelles étendues (ERE), ce qui évite d'échapper certains métacaractères comme +, {} ou |. Sur la plupart des systèmes actuels, egrep est un alias ou un lien symbolique vers grep avec l'option -E. Pour des motifs simples, grep (avec la syntaxe par défaut) suffit ; pour des expressions plus concises et lisibles impliquant des opérateurs d'ERE, préférez grep -E ou egrep. Exemple :
grep -E '^(error|warning):' /var/log/syslog
egrep '^(error|warning):' /var/log/syslog
💡 Pourquoi choisir ce cours ?
Rédigé par Thierry Vaira, ce document condense en deux pages les constructions fondamentales des expressions rationnelles et l'usage concret de grep et sed, avec extraits de commandes issus d'environnements Unix. Approche pragmatique et méthodologie orientée production : chaque concept est illustré par un exemple de commande ou de sortie, facilitant l'intégration dans des scripts. La méthodologie suit des bonnes pratiques d'administration système pour limiter les erreurs en environnement critique.
👤 À qui s'adresse ce cours ?
- Public cible : administrateurs système, ingénieurs DevOps, développeurs de scripts shell et étudiants en administration Unix cherchant une fiche pratique sur filtres et expressions rationnelles.
- Prérequis : bases du shell Unix (redirections, pipes), manipulation de fichiers texte et notions élémentaires d'expressions rationnelles et commandes standard (
cat,ls).
Exercices pratiques
Travaillez ces exercices sur un environnement de test avant toute application en production.
- Extraire les lignes contenant une adresse IPv4 dans
/var/log/sysloget compter les occurrences :grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' /var/log/syslog | sort | uniq -c - Remplacer toutes les occurrences de l'ancien domaine
anc.example.comparnouveau.example.comdans un fichier :sed -E 's/anc\.example\.com/nouveau.example.com/g' fichier.conf > fichier.conf.new - Détecter trois répétitions successives d'un même nombre via rétro‑référence :
grep -E '(25[0-9]*).*\1.*\1' fichier.log
Prérequis techniques
Niveau intermédiaire attendu : capacité à éditer et exécuter scripts shell, compréhension des redirections et pipes, et familiarité avec les outils de diagnostic Unix. Pour tirer pleinement parti des exemples, accès à un shell compatible POSIX et utilitaires GNU (grep, sed) recommandé.
❓ Foire Aux Questions (FAQ)
Comment utiliser une rétro‑référence \1 dans sed pour détecter une répétition ? Dans sed, créez un groupe avec \(...\) (ou utilisez -E et (...)) puis utilisez \1 dans la partie recherche ou remplacement. Exemple pour repérer une répétition : \(25[0-9]*\).*\1.*\1, utile pour détecter motifs récurrents dans des logs.
Quand privilégier grep plutôt que sed pour le traitement de fichiers ? Préférez grep pour la recherche et le filtrage simple (extraction de lignes correspondant à une regexp, comptage avec -c, inversement avec -v). Choisissez sed pour les transformations non interactives du flux (substitutions s/regexp/texte/flags, édition en pipeline).
Mentions complémentaires : expressions rationnelles (Regex) indispensables pour le filtrage de logs linux et pour maîtriser grep sed dans un contexte opérationnel. Fichier disponible en tutoriel linux pdf pour une consultation rapide et pour apprendre à maîtriser grep sed et optimiser le filtrage de logs linux. Découvrez également notre Cours Référence Debian pour approfondir vos connaissances système.