Ubuntu – How to replace strings in file without regex

10.04bashcommand lineregexsed

I need to replace some strings in files (from command line) but I don't want to use sed -i because my string contains lots of funny characters which need to be correctly escaped. Is there a way to turn off regex and just replace plain string?

Best Answer

  • You may have better luck using perl - which supports literal string matching via the \Q (quoted sentence) modifier e.g.

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

    See for example this article Perl Regular Expression Syntax at boost.org