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 com p para 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).
  • awk: Processa texto em arquivos.
  • grep: Filtra conteĆŗdo de arquivos.
  • find: Busca arquivos por critĆ©rios.