 
          Introduction
Le programme sed est un éditeur de texte en ligne. Contrairement aux autres
            éditeurs de texte comme ed, ex ou vi qui agissent sur un fichier en le
            modifiant directement, sed agit sur un fichier d’entrée pour produire une
            version modifiée dans un fichier de sortie distinct, le fichier d’entrée
            n’étant jamais modifié. Cette caractéristique est très utile dans les pipes et
            dans les scripts shells.
          
La syntaxe est peu conviviale mais elle permet de réaliser des traitements complexes sur des fichiers.
Utilisation du programme sed et syntaxe
La syntaxe de sed est la suivante :
          
sed -e "programme sed" fichier-a-traiterou
sed -f fichier_programme fichier_a_traiterL’option -n supprime la sortie standard par défaut, sed écrit uniquement les
            lignes concernées par le traitement sed (dans le cas contraire sed renvoie en
            sortie toutes les lignes même celles qui n’ont pas subi de traitement par le
            programme sed).
L’option -e est optionnelle lorsqu’il n’existe qu’une seule fonction
            d’édition.
Pour plus d’informations sur le programme sed, consulter le man du programme
            sed.
La commande de substitution s
La commande de substitution s permet de changer la première ou toutes les
            occurrences d’une chaine de caractères par une autre. Les changements sont
            réalisés dans la sortie standard. Les paramètres de la commande de substitution
            s et ses paramètres doivent être placés entre simple quotes pour les protéger
            du shell.
La commande s peut accomoder des expressions régulières. Sans l’option g, le
            remplacement ne se fait qu’une fois par ligne.
Substitution de la première occurrence chaine1 par CHAINE1 :
sed "s/chaine1/CHAINE1/" fichierSubstitution de la troisième occurrence chaine1 par CHAINE1 :
sed "s/chaine1/CHAINE1/3" fichierSubstitution de toutes les occurrences chaine1 par CHAINE1 :
sed "s/chaine1/CHAINE1/g" fichierEn cas de substitution, la ligne concernée est affichée
sed "s/chaine1/CHAINE1/p" fichierEn cas de substitution, la ligne est écrite dans le fichier resultat :
sed "s/chaine1/CHAINE1/w resultat" fichierSubsitution de toutes les occurrences Chaine1 ou chaine1 par
CHAINE1 :
sed "s/[Cc]aine1/CHAINE1/g" fichierSubstitution de chaine1 par chaine2 à condition que chaine1 se
présente en début de ligne :
sed "s/^chaine1/chaine2/g" fichierPour délimiter les chaines de caractère source et objet, le caractère '/' a
            été utilisé, mais il est possible d’utiliser un autre caractère surtout si le
            caractère '/' doit être traité par sed :
Exemple :
sed -n "s+chaine1+chaine2/g" fichierLa commande de substitution y
La commande y de subsitution effectue le remplacement de
            caractères dans la première chaine par le caractère dans la seconde chaine à la
            même position.
Exemple :
sed "y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwsyz/g"La commande de suppression d
La fonction de suppression d supprime des lignes comprises dans
            un intervalle donné.
Exemple :
sed "20,30d" fichier  (pour supprimer les lignes 20 à 30 dans le fichier)Les expressions régulières sont autorisées.
Exemples :
sed "/chaine1/d" fichier
sed "/chaine1/ !d" fichierLe premier exemple supprime toutes les lignes contenant la chaine chaine1.
            Dans le second cas, seules les lignes ne contenant pas la chaine chaine1 sont
            supprimées.
Pour rappel, ces lignes ne sont pas supprimées dans le fichier, elles le sont uniquement dans la sortie standard.
Les commandes p, l et =
- La commande p(print) affiche la ligne sélectionnée sur la sortie standard. Elle invalide l’optionn
- La commande l(list) affiche la ligne sélectionnée sur la sortie standard avec en plus les caractères de contrôle en clair avec leur code ASCII (deux chiffres en octal)
- La commande =donne le numéro de la ligne sélectionnée sur la sortie standard
Ces trois commandes sont très utiles lors des opérations de débug avec les programmes sed.
Exemple :
sed "/chaine1/=" fichier Les commandes q, r et w
- La commande q(quit) interrompt le programmesed, la ligne en cours de traitement est affichée sur la sortie standard (sauf si l’optionnest activée).
- La commande r(read) lit le contenu d’un fichier et écrit le contenu dans la sortie standard.
- La commande w(write) écrit la ligne sélectionnée dans un fichier.
Exemple :
sed "/^chaine1/w resultat" fichier Dans l’exemple ci-dessus, toutes les lignes dans le fichier contenant la
            chaine de caractères chaine1 sont écrites dans le fichier resultat.
Les commandes a et i
- La commande a(append) ajoute un texte après la ligne sélectionnée
- La commande i(insert) insère un texte avant la ligne sélectionnée
La caractère \ permet d’effectuer des retours chariot si le texte à insérer
            ou à ajouter se présente sur plusieurs lignes.
Exemples : fichier prog.sed
1i\ Début du traitement du fichier s/[cC]haine1/CHAINE1/g $a \ Fin du traitement\ du fichiersed -f prog.sed <fichier>
- Dans ce programme une ligne est insérée avant la ligne 1 : Début du traitement du fichier
- Toutes les occurrences chaine1ouChaine1sont remplacées parCHAINE1
- Insertion après la dernière ligne des lignes :