
sed est un éditeur de flux sous Linux utilisé pour effectuer des transformations de base sur un flux d’entrée (un fichier ou une entrée provenant d’un pipeline). Ce guide fournira des exemples sur l’utilisation de la commande sed.
Syntax
La syntaxe de base de la commande sed est la suivante :
$ sed [options] 'commande' fichieroptions: indicateurs optionnels pour modifier le comportement de la commandesed.commande: la transformation de texte à effectuer.fichier: le fichier d’entrée à éditer (ou omis pour l’entrée standard).
Utilisation de base
Remplacement de texte
L’un des usages les plus courants de sed est de remplacer du texte dans un fichier. Pour remplacer une chaîne dans un fichier, on utilise la syntaxe suivante :
$ sed 's/ancien-texte/nouveau-texte/g' fichierL’indicateur s indique que nous utilisons la commande de substitution, ancien-texte est le texte à remplacer, nouveau-texte est le texte pour le remplacer et le g à la fin indique que toutes les occurrences de ancien-texte doivent être remplacées (sans g, seule la première occurrence dans chaque ligne serait remplacée).
Impression de lignes spécifiques
Vous pouvez également utiliser sed pour imprimer des lignes spécifiques d’un fichier. Pour ce faire, utilisez la syntaxe suivante :
$ sed -n '3,5p' fichierCela imprimera les lignes 3 à 5 du fichier. L’option -n indique à sed de ne n’imprimer que les lignes spécifiées, et pas toutes les lignes du fichier.
Utilisation avancée
Utilisation de expressions régulières
sed prend en charge les expressions régulières de base, qui peuvent être utilisées pour correspondre et remplacer du texte en fonction de modèles. L’exemple suivant montre comment utiliser une expression régulière pour remplacer toutes les occurrences d’un nombre dans un fichier :
$ sed 's/[0-9]/X/g' fichierCela remplacera toutes les occurrences de nombres dans le fichier par la lettre X.
Suppression de lignes
Vous pouvez utiliser sed pour supprimer des lignes spécifiques dans un fichier. La syntaxe suivante montre comment supprimer les lignes 1 à 3 :
$ sed '1,3d' fichierL’indicateur d indique que nous voulons supprimer les lignes spécifiées.
Ajout de lignes
Il est également possible d’ajouter du texte à un fichier avec sed. La syntaxe suivante montre comment ajouter du texte à la fin d’un fichier :
$ sed '$a\Nouvelle ligne' fichierL’indicateur a indique que nous voulons ajouter du texte et la ligne qui suit (commençant par un \) est le texte à ajouter.
Conclusion
Ce guide a couvert les fonctionnalités de base de la commande sed sous Linux, y compris les opérations de remplacement de texte, l’impression de lignes spécifiques, l’utilisation d’expressions régulières, la suppression et l’ajout de lignes. La commande sed est un outil puissant pour éditer des fichiers de texte et peut être utilisé dans un grand nombre de scripts shell pour effectuer des tâches automatisées.
