J'ai un fichier de script qui remplace un mot par un autre dans les fichiers.Remplacer des caractères spéciaux dans une chaîne avec une séquence d'échappement dans la programmation shell
Ceci est un morceau de code que j'utilise. Maintenant, le problème auquel je suis confronté est quand Var1 et Var2 sont des noms de chemins. Je suis assez nouveau pour shell scripting. Je sais que je devrais mettre une séquence d'échappement. lire des fichiers csv je ne peux pas mettre manuellement les séquences d'échappement sur les utres .est un moyen de détecter les charaters spéciales avant que cette commande et les remplacer par séquence d'échappement
$ f est un nom de fichier
sed -i "s/$Var1/$Var2/g" "$f"
peut-il être utilisé pour des mots normaux qui n'ont pas de caractères spéciaux ou que je ne devrais utiliser que si les variables du Var peuvent avoir l'un ou l'autre – user1364861
**/** peut être remplacé par ** @ **, ** | **, **! **, etc. ** librement ** dans * sed *. – leafei