sed
Troque uma palavra num arquivo ou num pipe, em todas as vezes que aparece, ou direto dentro do arquivo com sed -i.
>_ Teste aqui: um Linux simulado, nesta páginanada roda no seu computador
Carregando o terminal…
Exemplos
-
sed "s/3000/8080/" app.conf -
sed "s/example/dockerlinux/g" links.txt -
sed "s|http://|https://|" links.txt -
sed -i "s/debug=true/debug=false/" app.conf -
cat app.conf -
echo "hello world" | sed "s/world/Linux/"
Como funciona
O sed "s/OLD/NEW/" FILE mostra o arquivo com o primeiro OLD de cada linha trocado por NEW. O arquivo em si não muda — você só vê o resultado.
Coloque g no fim para trocar todas as ocorrências da linha, e -i para gravar a mudança no arquivo (in place). Confira a saída primeiro, depois rode de novo com -i.
Sintaxe
sed [-i] "s/VELHO/NOVO/[g]" [ARQUIVO]...
Opções
| Opção | O que faz |
|---|---|
s/OLD/NEW/ | troca o primeiro VELHO de cada linha por NOVO |
g | global: todas as ocorrências da linha, não só a primeira |
-i | in place: grava a mudança no arquivo |
s|A|B| | qualquer caractere pode separar as partes: útil quando o texto tem barras |
Bom saber
- Sem
-io sed nunca mexe no arquivo: teste a troca com segurança primeiro, depois coloque o-i. - O VELHO é um padrão: um ponto quer dizer "qualquer caractere". Para trocar um ponto de verdade, escreva
\..