Remarques générales sur l’utilisation des substitutions avec sed
- Les chaînes de recherche de sed sont utilisables en priorité sur des suites de
caractères : si vous devez isoler des champs, choisissez plutôt la commande awk qui
est mieux adaptée.
- Dans tous les exemples, la chaîne de commande passée à sed est encadrée par des
quotes simples. Ceci n’est pas indispensable, mais attention : beaucoup de caractères
spéciaux pour sed (*,$,\,[],...) le sont aussi pour le shell, qui risque de les interpréter
avant de passer le résultat au sed (dans le cas où la chaîne n’est pas protégée par des
quotes).
Ainsi, on peut remplacer les quotes simples par des quotes doubles si la chaîne de
commande ne contient pas de $ ou de ", et ne pas en mettre si la chaîne de commande
ne contient aucun des caractères spéciaux, ni de séparateurs <espace> ou <tabulation>.
...
Mais, comme on l’a déjà signalé dans un chapitre précédent, les caractères spéciaux du
shell, ou les <espace>, qui ne sont pas protégés, seront tout d’abord interprétés par le
shell et provoqueront donc souvent une erreur de syntaxe dans le sed.
C’est pourquoi le mieux dans la majorité des cas est de d’encadrer les commandes de
sed avec des simple-quotes.
Partager