Je sais que cela a déjà été demandé, mais j'ai du mal à comprendre les réponses que j'ai trouvées. Fondamentalement, je veux utiliser
sed -i 's/string//some/directory/g' file.txt
et je ne trouve pas de réponse directe sur la façon de créer /some/directory
ne pas briser le sed
syntaxe.
Réponse acceptée :
sed
autorise plusieurs délimiteurs de syntaxe, /
n'étant que le plus couramment utilisé.
Vous pouvez tout aussi bien dire
sed -i 's,<string>,<some/directory>,g' file.txt
où le ,
a maintenant la fonction habituellement remplie par le /
, libérant ainsi ce dernier de sa signification particulière.
Notez cependant (comme l'a souligné @Jeff Schaller), que maintenant le ,
ne doit pas apparaître dans le nom du fichier ou du répertoire - et il s'agit d'un caractère valide pour les noms de fichiers ! Cette réponse donne un bon aperçu de la façon de procéder lors de l'application de sed
en une chaîne avec des caractères spéciaux.