Preciso substituir algum texto dentro de um arquivo de texto por um substituto. Normalmente eu faria algo como
sed -i 's/text/replacement/g' path/to/the/file
O problema é que ambos text
e replacement
são cadeias complexas que contêm traços, barras, barras negras, aspas e assim por diante. Se eu escapar de todos os caracteres necessários, text
a coisa se torna rapidamente ilegível. Por outro lado, não preciso do poder das expressões regulares: só preciso substituir o texto literalmente.
Existe uma maneira de fazer a substituição de texto sem usar expressões regulares com algum comando bash?
Seria bastante trivial escrever um script que faça isso, mas acho que já deveria existir algo.
bash
sempre são enviados com o Microsoft Word? ;) Não, é brincadeira. O OP pode querer fazer isso em uma máquina remota ou para um lote de arquivos.
sed
, o que provavelmente é um esforço fútil, considerando todas as opções e diferenças de plataforma.
find and replace all