Guide d’utilisation de la commande “sed” sous Linux

Utilisation de la commande 'sed' sous Linux : Un guide étape par étape avec des exemples

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' fichier
  • options : indicateurs optionnels pour modifier le comportement de la commande sed.
  • 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' fichier

L’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' fichier

Cela 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' fichier

Cela 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' fichier

L’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' fichier

L’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.

Laisser un commentaire