Terminal 101 Localizar e substituir usando Sed
ComoSubstituir todas as ocorrências do Word em um único arquivo
Se você tem um único arquivo no qual deseja substituir todas as ocorrências de uma única palavra por outra, pode fazê-lo facilmente usando o seguinte comando:
sed / FindThisWord / ReplaceWithThisWord / g 'file.txt
Substitua a palavra “FindThisWord” no comando acima com a palavra que você deseja substituir e substitua a palavra “ReplaceWithThisWord” no comando acima com a palavra que você deseja substituir a palavra com.
Esse comando abrirá o sed, que por sua vez imprimirá o arquivo de texto na tela, substituindo as ocorrências de palavras encontradas pela palavra que você deseja usar.
Então, se tivéssemos o seguinte documento:
A Apple é incrível!
Poderíamos executar o seguinte comando para substituir “maçã” no documento de texto acima com “MacLife” em vez de:
sed 's / Apple / MacLife / g' exemplo.txt
O documento editado será impresso na tela para você ver.
Escrevendo Mudanças no Arquivo
Tudo está bem, mas o comando acima não salva as alterações no arquivo original, ele apenas imprime o arquivo atualizado na tela. Para gravar as alterações de volta em um arquivo de saída, você usará o seguinte comando:
sed -n 's / FindthisWord / ReplaceWithThisWord / gpw output.txt' arquivo.txt
Então, se continuarmos com o mesmo exemplo acima, substituindo “maçã” na frase com “MacLife,” Em seguida, use o seguinte comando:
sed -n / Apple / MacLife / gpw output.txt 'amostra.txt
Isso fará com que o sed não apenas altere o arquivo e o imprima na tela, mas também fará com que as alterações sejam gravadas em um arquivo chamado “output.txt” (você pode mudar este nome dentro do comando string de substituição.
Cory Bohon é um escritor freelancer de tecnologia, desenvolvedor indie Mac e iOS e fotógrafo amador. Siga o autor deste artigo no Twitter.