wiki:linux:comandos:comando_sed
Table of Contents
Exemplos do comando sed
Nível Básico
- Substituir uma palavra por outra em um arquivo:
sed 's/palavra_antiga/palavra_nova/' arquivo.txt
- Substitui a primeira ocorrência de
palavra_antigaporpalavra_novaem cada linha do arquivo.
- Substituir globalmente em todas as ocorrências de uma palavra em uma linha:
sed 's/palavra_antiga/palavra_nova/g' arquivo.txt
- Substitui todas as ocorrências de
palavra_antigaporpalavra_novaem cada linha.
- Exibir o conteúdo de um arquivo com a substituição (sem alterar o arquivo original):
sed 's/palavra_antiga/palavra_nova/' arquivo.txt
- Exibe a saída com a substituição sem modificar o arquivo original.
- Excluir uma linha específica de um arquivo:
sed '5d' arquivo.txt
- Exclui a linha 5 do arquivo.
Nível Intermediário
- Substituir uma palavra em um intervalo de linhas:
sed '2,5s/palavra_antiga/palavra_nova/' arquivo.txt
- Substitui “palavra_antiga” por “palavra_nova” nas linhas de 2 a 5.
- Inserir uma nova linha antes de uma linha específica:
sed '3i\Texto inserido' arquivo.txt
- Insere a linha “Texto inserido” antes da linha 3.
- Substituir em um arquivo e salvar a saída em um novo arquivo:
sed 's/palavra_antiga/palavra_nova/g' arquivo.txt > novo_arquivo.txt
- Salva as modificações em `novo_arquivo.txt` sem alterar o arquivo original.
- Substituir somente linhas que contenham um padrão específico:
sed '/padrão/s/palavra_antiga/palavra_nova/' arquivo.txt
- 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:
sed -i 's/palavra_antiga/palavra_nova/g' *.txt
- 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:
sed '/^$/d' arquivo.txt
- Remove todas as linhas em branco do arquivo.
- Remover o comentário de linhas que começam com “#”:
sed 's/^#//' arquivo.txt
- Remove o caractere “#” no início de cada linha.
- Extrair e exibir apenas linhas que contêm uma palavra específica:
sed -n '/palavra/p' arquivo.txt
- Exibe apenas as linhas que contêm “palavra”.
Nível Especializado
- Trocar a ordem de duas palavras em uma linha:
sed 's/\(palavra1\)\(.*\)\(palavra2\)/\3\2\1/' arquivo.txt
- Troca a posição de “palavra1” e “palavra2” na linha.
- Realizar múltiplas substituições em um único comando:
sed -e 's/palavra1/nova1/' -e 's/palavra2/nova2/' arquivo.txt
- Faz várias substituições em uma única passagem.
- Substituir apenas a última ocorrência de uma palavra em uma linha:
sed 's/\(.*\)palavra/\1nova_palavra/' arquivo.txt
- Substitui apenas a última ocorrência de “palavra” por “nova_palavra” em cada linha.
- Modificar o conteúdo entre dois delimitadores específicos:
sed '/início/,/fim/s/palavra_antiga/palavra_nova/' arquivo.txt
- 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
