Comando sed
O comando sed (Stream Editor) Ć© usado para editar texto em arquivos de forma eficiente, principalmente em fluxos de texto ou arquivos grandes.
Sintaxe bƔsica
sed [opƧƵes] 'comando' [arquivo]Exemplos
- Substituir texto:
sed 's/antigo/novo/' arquivo.txt- Substituir globalmente (todas as ocorrĆŖncias na linha):
sed 's/antigo/novo/g' arquivo.txt- Substituir apenas a N-ésima ocorrência em cada linha:
sed 's/antigo/novo/2' arquivo.txt # Substitui a segunda ocorrĆŖncia- Substituir texto em uma linha especĆfica:
sed '5s/antigo/novo/' arquivo.txt # Substitui apenas na linha 5- Excluir linhas:
sed '5d' arquivo.txt # Exclui a linha 5
sed '1,3d' arquivo.txt # Exclui as linhas de 1 a 3
sed '/padrao/d' arquivo.txt # Exclui linhas que contĆŖm "padrao"- Exibir apenas linhas especĆficas:
sed -n '5p' arquivo.txt # Exibe apenas a linha 5
sed -n '1,3p' arquivo.txt # Exibe as linhas de 1 a 3
sed -n '/padrao/p' arquivo.txt # Exibe linhas que contĆŖm "padrao"- Inserir texto antes ou depois de uma linha:
sed '5i\texto' arquivo.txt # Insere "texto" antes da linha 5
sed '5a\texto' arquivo.txt # Insere "texto" depois da linha 5- Substituir texto apenas em linhas que correspondem a um padrão:
sed '/padrao/s/antigo/novo/' arquivo.txt- Editar o arquivo diretamente (salvar alteraƧƵes):
sed -i 's/antigo/novo/' arquivo.txt # Edita o arquivo original
sed -i.bak 's/antigo/novo/' arquivo.txt # Cria um backup antes de editar- Executar mĆŗltiplos comandos:
sed -e 's/antigo/novo/' -e '5d' arquivo.txt- Substituir texto usando expressƵes regulares:
sed 's/^inicio/novo/' arquivo.txt # Substitui no inĆcio da linha
sed 's/fim$/novo/' arquivo.txt # Substitui no final da linha
sed 's/[0-9]*/NĆMERO/' arquivo.txt # Substitui nĆŗmeros por "NĆMERO"OpƧƵes comuns
-n: Suprime a saĆda automĆ”tica (usado comppara exibir linhas especĆficas).-i: Edita o arquivo diretamente (salva as alteraƧƵes).-e: Permite executar mĆŗltiplos comandos.-r: Usa expressƵes regulares estendidas (equivalente a-E).