Commandes de base

SED : L'outil de transformation de texte

Table des matières

Qu'est ce que sed ?



sed c'est un éditeur de flux pour le filtrage et la transformation de texte.
Bon OK, ça ne parle pas trop dit comme ça...
Un éditeur de flux est utilisé pour effectuer des transformations de texte basiques sur un flux d'entrée (un fichier ou l'entrée d'un pipe). sed fonctionne en seulement une passe sur l'entrée(s) et est, par conséquent, plus efficace. Mais c'est sa capacité à filtrer du texte dans un tube qui le distingue des autres éditeurs.

Utiliser sed avec des exemples



Substituer des mots :
Code BASH :
echo Bonjour Adrien | sed -e "s/Adrien/à toi/"

Substituer tous les mots d'un fichier (ici, tous les salut en bonjour) -i pour le fichier et le /g pour global (toutes les occurrences) :
Code BASH :
sed -e "s/salut/bonjour/g" -i fichier.txt

Récupérer le chemin en cours et remplacer les espaces par un "antislash + espace"
Code BASH :
chem=$(pwd | sed -e "s/ /\\\ /g")

Ajouter le mot "Requires: " au début de chaque ligne du fichier codec, et garder le résultat dans le fichier codec2
Code BASH :
sed -e 's/^/Requires: /g' codec > codec2

Ou en remplaçant le fichier actuel :
Code BASH :
sed -i -e 's/^/Requires: /g' codec

Remplacer dans tous les fichiers du répertoire courant azerty par qwerty :
Code BASH :
find . -name "*" -exec sed -i 's/azerty/qwerty/g' {} \;

Concaténer toutes les lignes d'un fichier :
Code BASH :
sed -e 'N;s/\n/ /' fichier

Ecrire au début d'un fichier
Code BASH :
sed -i '1s/^/en haut\n/' fichier

Supprimer toutes les lignes commençant par USE :
Code BASH :
sed -i '/^USE/d' fichier

Supprimer la première ligne d'un fichier :
Code BASH :
sed -i -e "1d" fichier
Cette page a été vue 17495 fois