Procura e troca no bash
Como responder a seguinte pergunta:
Como faço para trocar uma palavra por outra em um grupo de arquivos dentro de um diretório?
Vamos lá, usando o bash é bastante simples na realidade. Por exemplo, dentro de um diretório tenho centenas de arquivos texto, onde quero trocar a palavra abcd por xyz. Para fazer isso acontecer temos que usar o comando sed, que foi exatamente feito para este tipo de trabalho.
A sintaxe formal para isso seria:
sed -i 's/old-word/new-word/g' *.txt
O sed da GNU pode editar os arquivo que são passados para ele dentro deles mesmo quando se usa a opção -i (fazendo backup se uma extensão for informada).
Senão o comando teria que ser usado no modo filtro, como no exemplo abaixo:
sed 's/old/new/g' input.txt > output.txt
Inclusive versões mais antigas do sed só operam neste modo.