Sed : apprendre à automatiser les modifications de texte dans les workflows techniques

Dans un contexte technique, sed désigne un éditeur de flux disponible sur les systèmes Unix et Linux. Il lit un texte ligne par ligne, applique des règles, puis affiche ou enregistre le résultat. Cette précision évite la confusion avec le sigle médical SED, fréquent dans les résultats de recherche.

Sed sert à corriger un fichier de configuration, normaliser un export CSV, retirer des lignes inutiles ou mettre à jour des milliers de fichiers par script. Son intérêt tient à sa place dans un workflow : il s’enchaîne avec des commandes comme grep, sort et awk, sans ouvrir d’éditeur interactif.

Les compétences Sed utiles en administration et développement

La première compétence consiste à comprendre le modèle de traitement. Sed reçoit une entrée standard ou un fichier, applique les commandes indiquées et écrit le résultat sur la sortie standard. Par défaut, il ne modifie donc pas le fichier d’origine.

Commencez par la substitution, avec la forme s/motif/remplacement/. La commande suivante remplace la première occurrence de « test » sur chaque ligne : sed 's/test/prod/' config.txt. Le drapeau g remplace toutes les occurrences présentes sur une même ligne.

  • chercher et remplacer des chaînes ou des motifs ;
  • supprimer des lignes avec d ;
  • sélectionner une plage de lignes ou un motif ;
  • ajouter, insérer ou modifier du texte ciblé ;
  • chaîner des règles dans un script reproductible.

Les expressions régulières constituent le prérequis principal. Elles permettent de repérer des chiffres, des espaces, un début de ligne ou une adresse e-mail selon une règle. Travaillez d’abord sur des motifs simples, puis apprenez les groupes et les références arrière, utiles pour réordonner ou conserver une partie du texte.

Trois usages concrets de Sed

Nettoyer un export de données

Un export peut contenir des espaces en fin de ligne, des lignes vides ou des séparateurs incohérents. La commande sed '/^$/d; s/[[:space:]]*$//' supprime les lignes vides et retire les espaces terminaux. Elle prépare un fichier avant son import dans un tableur, une base de données ou un outil métier.

Mettre à jour une configuration sans intervention manuelle

Dans un déploiement, un script peut remplacer une URL ou un numéro de version dans un fichier de paramètres. Utilisez un séparateur différent de la barre oblique si la valeur contient des chemins : sed 's|https://ancien.exemple|https://nouveau.exemple|g'. Cette écriture reste plus lisible et réduit les erreurs d’échappement.

Filtrer les commentaires d’un fichier technique

Pour produire une version épurée d’un fichier, sed peut supprimer les lignes qui commencent par # : sed '/^#/d' fichier.conf. Adaptez le motif si les commentaires peuvent être précédés d’espaces. Un test sur un extrait représentatif évite d’effacer des lignes valides.

Choisir entre Sed, un tableur, no-code et un langage

BesoinOutil adaptéCritère de choix
Transformer des fichiers texte en lotSedRègles simples, scriptables et répétées
Contrôler visuellement quelques centaines de lignesTableurAnalyse ponctuelle et corrections manuelles
Relier des applications métierNo-codeDéclencheurs, formulaires et API
Gérer une logique complexe ou des fichiers structurésPython ou RubyTests, traitements conditionnels et maintenance

Sed traite du texte ligne par ligne. Il convient mal aux documents JSON imbriqués, aux fichiers Excel ou aux transformations qui exigent de comprendre des colonnes liées entre elles. Pour automatiser des tâches entre outils métier, une formation no-code orientée productivité répond souvent mieux au besoin.

Quand les règles prennent plusieurs dizaines de lignes, qu’il faut journaliser les erreurs ou écrire des tests, un langage de script devient plus adapté. Un parcours pour apprendre Ruby pour développer et maintenir des scripts peut alors compléter les bases acquises avec sed.

Un programme d’apprentissage court et progressif

  1. Installez un terminal Linux, macOS ou un environnement Linux sous Windows.
  2. Exercez-vous sur des copies de fichiers texte, jamais sur les originaux.
  3. Maîtrisez s, d, les adresses de lignes et les expressions régulières.
  4. Écrivez des commandes lisibles, puis regroupez-les dans un fichier de script sed.
  5. Ajoutez une vérification avant et après traitement : nombre de lignes, extrait et sauvegarde.

L’option -i modifie un fichier sur place. Elle fait gagner du temps, mais elle mérite une sauvegarde et un essai préalable sans cette option. Sur macOS et GNU/Linux, sa syntaxe peut aussi différer pour la création d’une copie de secours.

Sed : ce qu’il faut retenir pour vos workflows

Apprendre sed apporte une compétence numérique directement utile pour l’administration système, l’intégration de données et le développement. Les débouchés concernés vont du support technique au DevOps, en passant par les équipes data qui manipulent des fichiers plats. La valeur du script vient de sa fiabilité : une règle claire, des données de test et une sauvegarde protègent mieux qu’une commande très courte.

Visez d’abord trois exercices : supprimer des lignes, remplacer une valeur et extraire une plage. Vous pourrez ensuite intégrer sed dans vos scripts shell et automatiser des tâches répétitives avec un niveau de contrôle adapté au risque.

Sur le même sujet

Publications similaires