CMDécouverte sed - un éditeur de flux
La commande sed est un éditeur de flux puissant sous Linux, utilisé pour filtrer et transformer du texte via des commandes de substitution, suppression et extraction, directement dans des fichiers ou dans le flux de sortie d'autres commandes.

Synthèse structurée
Nature de l’éditeur Sed est un éditeur de flux (stream editor) capable de traiter du texte en entrée, que ce soit depuis un fichier ou depuis le flux de sortie (pipe) d’une autre commande, ce qui le distingue des éditeurs de texte classiques.
Syntaxe de base
La syntaxe générale est sed [options] 'commande' [fichier], où la ‘commande’ indique l’action à effectuer (comme la substitution) et peut être appliquée à un fichier ou à la sortie d’une autre commande via un pipe (|).
Substitution de texte
La commande s permet de remplacer un motif par un autre, avec une syntaxe comme s/ancien/nouveau/ ; les options g (globale) et i (insensible à la casse) permettent de contrôler la portée du remplacement.
Suppression de lignes
La commande d permet de supprimer des lignes, soit par leur numéro (ex: 2d), soit en utilisant des expressions régulières pour cibler un motif, comme supprimer toutes les lignes de commentaires commençant par #.
Utilisation des expressions régulières
Sed excelle dans l’utilisation d’expressions régulières pour des recherches et actions complexes, comme cibler le début (^) ou la fin ($) d’une ligne, ou combiner plusieurs conditions avec l’option -e ou une syntaxe étendue (-E).
Extraction d’information
La combinaison des options -n (supprime l’affichage automatique) et de la commande p (print) permet d’extraire et de conserver uniquement des lignes spécifiques, comme un bloc de texte situé entre deux motifs.
Modification directe des fichiers
L’option -i permet d’appliquer les modifications directement dans le fichier source, évitant ainsi une simple sortie à l’écran ; on peut aussi créer une sauvegarde automatique avec -i.bak.
Changement de séparateur
Lorsque le motif à rechercher contient le caractère séparateur (par défaut /), on peut en changer (par exemple pour @) pour améliorer la lisibilité, évitant ainsi d’avoir à échapper chaque occurrence.
Chaînage des commandes
Plusieurs commandes sed peuvent être enchaînées dans un même pipeline pour effectuer une série de transformations successives sur un flux de texte.
Concepts clés
Stream Editor (sed) : Éditeur de flux de texte.
Pipe (|) : Redirection de la sortie d’une commande vers l’entrée d’une autre.
Expression régulière : Suite de caractères définissant un motif de recherche (ex: ^# pour une ligne commençant par #).
Substitution (s/.../.../) : Commande de remplacement de texte.
Option globale (g) : Remplace toutes les occurrences sur une ligne, pas seulement la première.
Option insensible à la casse (i) : Ignore la différence entre majuscules et minuscules lors de la recherche.
Conclusion
La commande sed est un outil indispensable et polyvalent pour manipuler du texte en ligne de commande, allant de simples remplacements à des transformations complexes grâce aux expressions régulières, le tout en pouvant opérer aussi bien sur des fichiers que sur des flux dynamiques.