web-dev-qa-db-fra.com

Comment remplacer des chaînes dans un fichier sans regex?

Je dois remplacer certaines chaînes dans les fichiers (à partir de la ligne de commande), mais je ne souhaite pas utiliser sed -i, car ma chaîne contient de nombreux caractères amusants qui doivent être correctement échappés. Existe-t-il un moyen de désactiver l'expression régulière et de remplacer simplement la chaîne?

5
Poma

Vous aurez peut-être plus de chance en utilisant Perl - qui prend en charge la correspondance de chaîne littérale via le modificateur \Q (phrase entre guillemets), par exemple.

Perl -pe 's/\Qstring/replacement/g'

Voir, par exemple, cet article Syntaxe Perl Regular Expression sur boost.org

8
steeldriver