User Tools

Site Tools


wiki:linux:comandos:comando_sed

Exemplos do comando sed

Nível Básico

  • Substituir uma palavra por outra em um arquivo:
    1. sed 's/palavra_antiga/palavra_nova/' arquivo.txt
    2. Substitui a primeira ocorrência de palavra_antiga por palavra_nova em cada linha do arquivo.
  • Substituir globalmente em todas as ocorrências de uma palavra em uma linha:
    1. sed 's/palavra_antiga/palavra_nova/g' arquivo.txt
    2. Substitui todas as ocorrências de palavra_antiga por palavra_nova em cada linha.
  • Exibir o conteúdo de um arquivo com a substituição (sem alterar o arquivo original):
    1. sed 's/palavra_antiga/palavra_nova/' arquivo.txt
    2. Exibe a saída com a substituição sem modificar o arquivo original.
  • Excluir uma linha específica de um arquivo:
    1. sed '5d' arquivo.txt
    2. Exclui a linha 5 do arquivo.

Nível Intermediário

  • Substituir uma palavra em um intervalo de linhas:
    1. sed '2,5s/palavra_antiga/palavra_nova/' arquivo.txt
    2. Substitui “palavra_antiga” por “palavra_nova” nas linhas de 2 a 5.
  • Inserir uma nova linha antes de uma linha específica:
    1. sed '3i\Texto inserido' arquivo.txt
    2. Insere a linha “Texto inserido” antes da linha 3.
  • Substituir em um arquivo e salvar a saída em um novo arquivo:
    1. sed 's/palavra_antiga/palavra_nova/g' arquivo.txt > novo_arquivo.txt
    2. Salva as modificações em `novo_arquivo.txt` sem alterar o arquivo original.
  • Substituir somente linhas que contenham um padrão específico:
    1. sed '/padrão/s/palavra_antiga/palavra_nova/' arquivo.txt
    2. Substitui “palavra_antiga” por “palavra_nova” apenas nas linhas que contêm “padrão”.

Nível Avançado

  • Substituir palavras em múltiplos arquivos ao mesmo tempo:
    1. sed -i 's/palavra_antiga/palavra_nova/g' *.txt
    2. Substitui “palavra_antiga” por “palavra_nova” em todos os arquivos `.txt` e salva as mudanças diretamente.
  • Excluir todas as linhas em branco de um arquivo:
    1. sed '/^$/d' arquivo.txt
    2. Remove todas as linhas em branco do arquivo.
  • Remover o comentário de linhas que começam com “#”:
    1. sed 's/^#//' arquivo.txt
    2. Remove o caractere “#” no início de cada linha.
  • Extrair e exibir apenas linhas que contêm uma palavra específica:
    1. sed -n '/palavra/p' arquivo.txt
    2. Exibe apenas as linhas que contêm “palavra”.

Nível Especializado

  • Trocar a ordem de duas palavras em uma linha:
    1. sed 's/\(palavra1\)\(.*\)\(palavra2\)/\3\2\1/' arquivo.txt
    2. Troca a posição de “palavra1” e “palavra2” na linha.
  • Realizar múltiplas substituições em um único comando:
    1. sed -e 's/palavra1/nova1/' -e 's/palavra2/nova2/' arquivo.txt
    2. Faz várias substituições em uma única passagem.
  • Substituir apenas a última ocorrência de uma palavra em uma linha:
    1. sed 's/\(.*\)palavra/\1nova_palavra/' arquivo.txt
    2. Substitui apenas a última ocorrência de “palavra” por “nova_palavra” em cada linha.
  • Modificar o conteúdo entre dois delimitadores específicos:
    1. sed '/início/,/fim/s/palavra_antiga/palavra_nova/' arquivo.txt
    2. Substitui “palavra_antiga” por “palavra_nova” apenas entre as linhas que contêm “início” e “fim”.
wiki/linux/comandos/comando_sed.txt · Last modified: by Wiki Administrator