===== 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_antiga'' por ''palavra_nova'' em 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_antiga'' por ''palavra_nova'' em 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".