===== 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".