Existem muitas situações em que precisamos substituir uma palavra dentro de um arquivo. Seja um arquivo de configuração de serviço, um arquivo de texto ou um arquivo contendo bancos de dados, neste tutorial você aprenderá como pesquisar e substituir uma palavra em um arquivo em Linux.
Como pesquisar e substituir uma palavra em um arquivo em Linux
A opção mais simples se você for um usuário do sistema operacional Linux, é usar o comando “sed
". Pedido de editor de fluxo.
Digamos como exemplo que temos em um arquivo de texto (document.txt) a palavra "abc” que queremos substituir por “xyz". A linha de comando pela qual podemos substituir a palavra será a seguinte:
sed -ie 's/abc/xyz/g' document.txt
Quando executamos o comando, a condição é que estejamos na pasta onde se encontra o arquivo document.txt.
Se o comando for executado de outro local, o caminho completo do arquivo será gravado. Por exemplo:
sed -ie 's/abc/xyz/g' /full/path/document.txt
Onde "/full/path/
” é a pasta onde o arquivo está localizado document.txt.
Depois de executar a linha de comando, a opção "-i
" criará um arquivo de backup idêntico ao original, mas a cuja extensão acrescentará a letra "e
". No nosso caso, o documento de backup será document.txte.
-i[SUFFIX], --in-place[=SUFFIX] : edit files in place (makes backup if extension supplied)
-e script, --expression=script : add the script to the commands to be executed.
Esta ordem de “find & replace” não é válido apenas para arquivos .txt. Você pode substituir palavras dentro de qualquer arquivo que contenha texto. Mesmo em arquivos de banco de dados MySQL (.SQL)
Stealth Settings - Find & Replace Inside a Text File (Linux Bash Command Line).