Si vous avez déjà ouvert un terminal et regardé un fichier texte en vous disant « il faudrait que je modifie ça partout, mais pas à la main », alors sed est exactement l’outil qu’il vous manque. Discret, rapide et incroyablement puissant, il fait partie de ces commandes que l’on découvre souvent tard… et que l’on regrette de ne pas avoir apprises plus tôt.
- Gagner du temps en automatisant des modifications de texte répétitives directement depuis le terminal, sans ouvrir ni éditer manuellement des fichiers.
- Comprendre et utiliser sed en toute confiance, même en partant de zéro, pour manipuler des fichiers texte sans risque et avec méthode.
- Devenir plus autonome et efficace en ligne de commande, avec un outil discret mais puissant, applicable immédiatement dans des situations concrètes.
Dans ce tutoriel, nous allons apprendre sed depuis le terminal, en partant de zéro. Pas besoin d’être un expert ni un gourou de la ligne de commande. L’objectif est simple : comprendre, pratiquer et gagner du temps, même en tant que débutant.
- Qu’est-ce que sed exactement ?
- Sed et le terminal : comment ça fonctionne ?
- Installer sed selon votre système
- Votre première commande sed expliquée pas à pas
- Pourquoi sed ne modifie pas le fichier par défaut ?
- Sed et les flux : une notion clé à comprendre
- Modifier réellement un fichier avec sed
- Sauvegarde automatique du fichier : Une sécurité supplémentaire
- Remplacer toutes les occurrences sur une ligne
- Cibler des lignes précises
- Supprimer des lignes avec sed
- Ajouter du texte avec sed
- Les expressions régulières sans panique
- Sed et les fichiers de configuration
- Combiner sed avec d’autres commandes
- Erreurs fréquentes quand on débute avec sed
- Sed dans des cas concrets du quotidien
- Modifier automatiquement plusieurs fichiers
- Sed et développement web
- Pourquoi sed reste incontournable encore aujourd’hui
- Tableau récapitulatif des commandes et paramètres sed
Qu’est-ce que sed exactement ?
Le nom sed vient de Stream EDitor, que l’on peut traduire par éditeur de flux. Derrière ce terme un peu abstrait se cache une idée très simple : sed permet de modifier du texte automatiquement, ligne par ligne, sans ouvrir de fichier dans un éditeur classique.
Contrairement à un éditeur comme Nano, Vim ou VS Code, sed travaille en arrière-plan, directement depuis le terminal. Il lit un texte, applique des règles, et affiche ou enregistre le résultat.
Pour vulgariser, on pourrait dire que :
sed est un assistant invisible qui lit vos fichiers texte et les corrige à votre place, selon vos instructions.

Sed est particulièrement utile dès que vous devez traiter du texte en masse. Et dans le monde du développement, de l’administration système ou même du simple bricolage informatique, le texte est partout.
Voici quelques situations concrètes où sed devient vite indispensable :
- Vous avez un fichier avec une ancienne URL et vous devez la remplacer partout
- Vous devez supprimer une ligne précise dans des centaines de fichiers
- Vous voulez modifier automatiquement une configuration serveur
- Vous devez nettoyer des données avant de les importer
- Vous travaillez avec des logs, des CSV ou des fichiers de configuration
Là où une modification manuelle prendrait des heures (et beaucoup d’erreurs), sed fait le travail en une seule commande.
La première fois que j’ai vraiment compris l’intérêt de sed, c’était sur un serveur distant. Impossible d’ouvrir un éditeur graphique, des fichiers de configuration énormes, et une simple erreur de frappe pouvait tout casser.
Une commande sed bien écrite a remplacé des dizaines de modifications manuelles, en quelques secondes. Depuis ce jour, sed fait partie de ma boîte à outils de survie en terminal.
Sed et le terminal : comment ça fonctionne ?
Sed fonctionne toujours selon le même principe :
- Il lit une entrée (un fichier ou un flux)
- Il applique une ou plusieurs instructions
- Il affiche le résultat ou l’enregistre
Par défaut, sed ne modifie pas le fichier original. Il affiche simplement le résultat dans le terminal. C’est volontaire, et c’est une excellente chose pour éviter les erreurs irréversibles.
sed 's/chat/chien/' fichier.txt
Cette commande :
- lit le fichier
fichier.txt - remplace le premier mot chat par chien sur chaque ligne
- affiche le résultat dans le terminal
Le fichier original, lui, reste intact.
Installer sed selon votre système
Bonne nouvelle : dans la majorité des cas, sed est déjà installé.
Sur Linux
Sur Ubuntu, Debian, Mint et la plupart des distributions :
sed --version
Si une version s’affiche, sed est prêt à l’emploi.
Sinon :
sudo apt install sed
Sur macOS
Sed est également présent par défaut sur macOS.
Attention cependant : la version macOS (BSD sed) diffère légèrement de la version GNU utilisée sur Linux. Nous verrons ces différences plus tard, au moment opportun.
Sur Windows
Sed n’est pas natif sous Windows, mais vous pouvez l’utiliser via :
- WSL (Windows Subsystem for Linux)
- Git Bash
- Cygwin
Dans un contexte de développement web, WSL est fortement recommandé.
Votre première commande sed expliquée pas à pas
Commençons avec un fichier très simple que nous nommerons fichier.txt :
Bonjour le monde
Bonjour à tous
Bonjour sed
Commande :
sed 's/Bonjour/Salut/' fichier.txt
Résultat :
Salut le monde
Salut à tous
Salut sed
Décortiquons calmement :
- La commande :
sed - L’instruction :
's/Bonjour/Salut/' - Le fichier à lire :
fichier.txt
Le s signifie substitute, c’est-à-dire remplacer. Ensuite :
Bonjourest le texte recherchéSalutest le texte de remplacement
Sed lit chaque ligne une par une, applique la règle, et passe à la suivante.
Pourquoi sed ne modifie pas le fichier par défaut ?
C’est une question que beaucoup de débutants se posent, et c’est très sain.
Sed a été conçu pour être sûr par défaut. Tant que vous n’indiquez pas explicitement que vous voulez modifier un fichier, il se contente d’afficher le résultat.
Cela permet :
- de tester une commande sans risque
- de voir immédiatement le résultat
- d’éviter les catastrophes sur des fichiers sensibles
Quand vous vous sentirez à l’aise, vous apprendrez à modifier directement les fichiers, mais jamais sans comprendre ce que vous faites.
Sed et les flux : une notion clé à comprendre
Sed ne travaille pas uniquement avec des fichiers. Il peut aussi traiter des flux, c’est-à-dire la sortie d’une autre commande.
ls | sed 's/.txt//'
Ici :
lsliste les fichierssedmodifie le résultat avant affichage
C’est cette capacité à s’intégrer dans une chaîne de commandes qui rend sed si puissant dans le terminal.
👉 Tout comprendre sur Le symbole Pipe | et commande pipeline.
Maintenant, vous commencez à penser différemment le texte, non plus comme quelque chose à éditer à la main, mais comme quelque chose que l’on peut transformer automatiquement.
Modifier réellement un fichier avec sed
Jusqu’ici, sed affichait simplement le résultat dans le terminal. C’est rassurant, mais tôt ou tard, vous voudrez appliquer la modification directement dans le fichier.
Pour cela, sed propose une option essentielle : -i.
Modifier un fichier en place
Prenons un fichier texte.txt :
Le terminal est puissant
Le terminal est rapide
Le terminal est parfois intimidant
Commande :
sed -i 's/terminal/terminal Linux/' texte.txt
Résultat dans le fichier :
Le terminal Linux est puissant
Le terminal Linux est rapide
Le terminal Linux est parfois intimidant
Cette fois, le fichier est réellement modifié.
Prenez une bonne habitude dès maintenant :
➡️ testez toujours la commande sans -i avant, puis ajoutez -i quand vous êtes sûr du résultat.
Sauvegarde automatique du fichier : Une sécurité supplémentaire
Sed permet aussi de créer une sauvegarde automatique du fichier original.
sed -i.bak 's/terminal/console/' texte.txt
Cela crée :
texte.txt(modifié)texte.txt.bak(original)
Quand on débute, cette option est une vraie bouée de sauvetage.
Remplacer toutes les occurrences sur une ligne
Par défaut, sed ne remplace que la première occurrence par ligne.
Exemple :
sed est simple et sed est puissant
Commande :
sed 's/sed/SED/' fichier.txt
Résultat :
SED est simple et sed est puissant
Pour remplacer toutes les occurrences, on ajoute le modificateur g (global).
sed 's/sed/SED/g' fichier.txt
Résultat :
SED est simple et SED est puissant
Cibler des lignes précises
Sed n’est pas obligé de travailler sur tout le fichier. Vous pouvez lui dire exactement quelles lignes modifier.
Modifier une ligne précise
sed '2s/sed/SED/' fichier.txt
Ici :
2signifie ligne 2sapplique la substitution uniquement sur cette ligne
Modifier une plage de lignes
sed '1,3s/sed/SED/' fichier.txt
Sed agit uniquement sur les lignes 1 à 3.
Supprimer des lignes avec sed
Sed ne sert pas qu’à remplacer du texte. Il peut aussi supprimer des lignes entières.
Des formations informatique pour tous !
Débutant ou curieux ? Apprenez le développement web, le référencement, le webmarketing, la bureautique, à maîtriser vos appareils Apple et bien plus encore…
Formateur indépendant, professionnel du web depuis 2006, je vous accompagne pas à pas et en cours particulier, que vous soyez débutant ou que vous souhaitiez progresser. En visio, à votre rythme, et toujours avec pédagogie.
Découvrez mes formations Qui suis-je ?Supprimer une ligne précise
sed '3d' fichier.txt
La ligne 3 est supprimée de l’affichage.
Supprimer une ligne contenant un mot
sed '/erreur/d' fichier.txt
Toutes les lignes contenant le mot erreur sont supprimées.
C’est extrêmement pratique pour nettoyer :
- des logs
- des fichiers CSV
- des exports bruts
Ajouter du texte avec sed
Sed peut aussi ajouter du contenu.
Ajouter une ligne après une autre
sed '2a\Nouvelle ligne ajoutée' fichier.txt
La nouvelle ligne est ajoutée après la ligne 2.
Ajouter une ligne avant une autre
sed '2i\Ligne insérée avant' fichier.txt
Ces commandes sont très utiles pour :
- ajouter des en-têtes
- insérer des commentaires
- structurer automatiquement des fichiers
Les expressions régulières sans panique
Quand on parle de sed, le mot expressions régulières fait souvent peur. Pourtant, vous en utilisez déjà sans le savoir.
Exemple simple :
sed 's/[0-9]/X/g' fichier.txt
Cela remplace tous les chiffres par X.
Quelques motifs utiles à connaître :
.: n’importe quel caractère*: zéro ou plusieurs fois^: début de ligne$: fin de ligne
Exemple :
sed 's/^Bonjour/Salut/' fichier.txt
Remplace Bonjour uniquement s’il est au début de la ligne.
👉 Spécial débutant : Tout comprendre au RegEx
Sed et les fichiers de configuration
C’est l’un des usages les plus courants en terminal.
PORT=3000
DEBUG=true
Commande :
sed -i 's/DEBUG=true/DEBUG=false/' config.env
En une ligne, vous modifiez une configuration sans ouvrir d’éditeur. Sur un serveur distant, c’est un gain de temps énorme.
Combiner sed avec d’autres commandes
Sed prend toute sa puissance quand il est combiné avec d’autres commandes du terminal.
cat fichier.txt | sed 's/erreur/attention/g'
Ou encore :
grep "ERROR" log.txt | sed 's/ERROR/⚠️/g'
Vous filtrez d’abord, puis vous transformez. C’est cette logique en chaîne qui fait la force du terminal.
👉 Pour aller plus loin : La commande GREP pour rechercher du texte
Erreurs fréquentes quand on débute avec sed
Rassurez-vous, tout le monde fait ces erreurs au début.
- Oublier les guillemets autour de la commande
- Modifier un fichier sans sauvegarde
- Confondre
/et\ - Tester directement avec
-i
Chaque erreur est une leçon. Sed demande un peu de rigueur, mais il la rend au centuple.
Sed dans des cas concrets du quotidien
Maintenant que les bases sont solides, voyons comment sed depuis le terminal s’utilise dans des situations réelles. L’objectif ici n’est plus seulement de comprendre, mais de se projeter.
Nettoyer un fichier texte automatiquement
Imaginez un fichier contenant des lignes inutiles, issues d’un copier-coller un peu sale :
Nom: Paul
Age: 32
Nom: Sophie
Age: 28
Nom: Marc
Age: 41
Vous souhaitez supprimer toutes les lignes vides.
Commande :
sed '/^$/d' fichier.txt
Explication simple :
^$signifie « début de ligne suivi immédiatement de la fin de ligne »- donc une ligne vide
dsupprime ces lignes
Résultat : un fichier propre, sans trous inutiles.
Modifier un CSV sans l’ouvrir
Les fichiers CSV sont omniprésents, mais pénibles à éditer à la main.
Exemple :
id;nom;ville
1;Paul;Paris
2;Sophie;Lyon
3;Marc;Paris
Vous souhaitez remplacer Paris par Paris (75).
sed 's/Paris/Paris (75)/g' data.csv
Encore mieux, si vous voulez enregistrer la modification :
sed -i.bak 's/Paris/Paris (75)/g' data.csv
En quelques secondes, le fichier est modifié, sauvegarde comprise.
Travailler sur des logs serveur
Les logs sont souvent énormes et difficiles à lire.
Exemple :
[ERROR] Connexion refusée
[INFO] Serveur démarré
[ERROR] Accès interdit
Vous voulez supprimer toutes les lignes informatives pour ne garder que les erreurs.
sed '/INFO/d' serveur.log
Ou au contraire, mettre les erreurs en évidence :
sed 's/\[ERROR\]/[!!! ERREUR !!!]/g' serveur.log
Ce genre de commande est extrêmement utile pour analyser rapidement un problème en production.
Modifier automatiquement plusieurs fichiers
Sed peut aussi travailler sur plusieurs fichiers en une seule commande.
sed -i 's/http:/https:/g' *.html
Tous les fichiers HTML du dossier sont modifiés.
C’est typiquement le genre de commande qui fait gagner des heures lors d’une migration de site.
Sed et développement web
Sed est très apprécié dans les workflows de développement.
Exemple : remplacer un nom d’environnement dans un fichier JavaScript.
sed -i 's/ENV_DEV/ENV_PROD/g' config.js
Ou nettoyer des balises HTML générées automatiquement :
sed 's/<[^>]*>//g' page.html
Ici, toutes les balises HTML sont supprimées pour ne garder que le texte.
Sed dans des scripts automatisés
Sed est souvent utilisé dans des scripts Bash.
Exemple simple :
#!/bin/bash
sed -i 's/version=1.0/version=1.1/' app.conf
À chaque exécution du script, la version est mise à jour automatiquement.
C’est discret, fiable, et très efficace.
Pourquoi sed reste incontournable encore aujourd’hui
Même avec des éditeurs modernes, sed garde une place centrale pour plusieurs raisons :
- Il est présent presque partout
- Il est rapide
- Il fonctionne sans interface graphique
- Il s’intègre parfaitement au terminal
- Il permet l’automatisation
Quand on commence à le maîtriser, sed devient un réflexe naturel.
Tableau récapitulatif des commandes et paramètres sed
| Commande / Option | Description |
|---|---|
sed 's/ancien/nouveau/' fichier | Remplace la première occurrence par ligne |
sed 's/ancien/nouveau/g' fichier | Remplace toutes les occurrences |
sed -i 's/ancien/nouveau/' fichier | Modifie le fichier directement |
sed -i.bak 's/ancien/nouveau/' fichier | Modifie avec sauvegarde |
sed '2s/ancien/nouveau/' fichier | Remplace sur la ligne 2 |
sed '1,3s/ancien/nouveau/' fichier | Remplace sur les lignes 1 à 3 |
sed '3d' fichier | Supprime la ligne 3 |
sed '/mot/d' fichier | Supprime les lignes contenant un mot |
sed '/^$/d' fichier | Supprime les lignes vides |
sed '2a\texte' fichier | Ajoute une ligne après |
sed '2i\texte' fichier | Insère une ligne avant |
sed 's/^debut/texte/' fichier | Remplace au début de ligne |
sed 's/fin$/texte/' fichier | Remplace en fin de ligne |
Ce tableau peut servir de pense-bête rapide, surtout au début.
Apprendre sed depuis le terminal, ce n’est pas apprendre une commande de plus. C’est changer votre façon d’aborder le texte, les fichiers et l’automatisation. Là où l’on modifiait tout à la main, sed vous apprend à penser en règles, en transformations, en logique.
Au début, sed peut sembler un peu austère, presque intimidant. Puis, progressivement, il devient un allié. Vous tapez une commande, le travail est fait. Sans bruit. Sans erreur. Et souvent, avec un petit sourire en coin quand vous réalisez le temps gagné.
Si vous deviez retenir une seule chose, ce serait celle-ci : sed n’est pas réservé aux experts. Il est parfaitement accessible aux débutants, à condition de prendre le temps de comprendre chaque étape. Et ce temps-là est largement rentabilisé.
La prochaine fois que vous ouvrirez un fichier pour faire une modification répétitive, posez-vous la question : et si sed s’en occupait pour moi ?

Fondateur de l’agence Créa-troyes, affiliée France Num
Intervenant en Freelance.
Contactez-moi
