Visão Geral
Apresentamos o poderoso editor de fluxo sed, que permite substituir e editar o conteúdo de arquivos de texto de forma rápida e precisa no ambiente Linux. Aprenda facilmente por meio de exemplos práticos, desde a substituição básica de strings até a exclusão de linhas específicas e a opção inline (-i), que modifica arquivos diretamente enquanto cria backups.
1. Preparação do Ambiente de Prática e Substituição Básica de Strings com sed (Comando s)
Para criar um diretório dedicado para praticar os comandos sed com segurança e navegar até ele, execute o comando mkdir -p ~/sed_practice && cd ~/sed_practice.

Para estruturar o texto de exemplo usado na prática de substituição de strings, execute o comando echo -e 'apple is delicious\nbanana is yellow\napple is red' > fruits.txt para gravar o conteúdo no arquivo.

O comando sed é um editor de fluxo que processa e edita fluxos de texto.
Utilizando o operador de substituição s, a primeira ocorrência da string apple encontrada em cada linha é substituída por orange e exibida na tela.
O conteúdo do arquivo original fruits.txt não é alterado; apenas o resultado é exibido na saída padrão.
⚙️ [Principais Opções]
-i : Modifica e salva diretamente o arquivo original em vez de exibir a saída na tela.-e : Concatena e executa vários comandos de script de edição de uma só vez.-n : Suprime a saída automática do pattern space e exibe apenas as linhas explicitamente especificadas.-E ou -r : Habilita e utiliza a sintaxe de expressões regulares estendidas (ERE).

Adicionar a flag g ao final da expressão de substituição faz com que todas as ocorrências correspondentes em uma linha sejam substituídas globalmente.
Isso é utilizado quando existem múltiplos termos idênticos em cada linha e você deseja alterar todos sem exceção.

2. Exibição Seletiva e Exclusão de Linhas Específicas (Comando d e Opção -n)
Para preparar os dados de log necessários para a prática de seleção e exclusão de linhas, execute o comando echo -e 'Line 1: Server OK\nLine 2: Server Warning\nLine 3: Server Error\nLine 4: Server OK' > server.log para criar o arquivo de exemplo.

Combinando a opção -n com o comando p, apenas o intervalo especificado da linha 2 à linha 3 é exibido na tela.
Isso é útil para suprimir a saída automática padrão e inspecionar seletivamente apenas as linhas desejadas.

Utilizando o comando d com correspondência de padrões, as linhas que contêm a string Warning são excluídas e apenas o restante do conteúdo é impresso na tela.
Isso é usado para filtrar e verificar logs desnecessários ou linhas sob condições específicas.

Especificando um número de linha e executando o comando d, o resultado da exclusão da 2ª linha é exibido na tela.
Isso é útil quando você deseja remover uma linha de determinado número e verificar o conteúdo do arquivo.

3. Modificação Direta de Arquivos Originais e Backup Automático (Opção -i)
Para a prática de modificação de arquivos de configuração, crie o arquivo config.env contendo dados de variáveis de ambiente de exemplo.

Usando a opção -i.bak, uma cópia de backup do arquivo original chamada config.env.bak é criada ao mesmo tempo em que a configuração DEBUG=true é imediatamente substituída por DEBUG=false e salva no arquivo original.
Isso é utilizado ao modificar diretamente o arquivo original, mantendo o estado anterior preservado com segurança.

Verifique o conteúdo do arquivo config.env modificado com o comando cat.
É possível confirmar que o valor de DEBUG foi alterado com sucesso para false e aplicado ao arquivo.

Imprima e verifique o conteúdo do arquivo de backup gerado automaticamente, config.env.bak.
Pode-se observar que o conteúdo original antes da alteração, DEBUG=true, foi preservado intacto, comprovando que o backup foi feito com segurança.

4. Substituição Avançada de Texto com Expressões Regulares e Delimitadores Personalizados
Para gerar dados de exemplo de caminhos de arquivos a serem usados na prática de substituição de paths, escreva o conteúdo no arquivo paths.txt com o comando echo.

Usando o caractere pipe (|) como delimitador de substituição em vez da barra padrão (/), substitua /usr/local/bin por /usr/bin no caminho de forma segura e exiba o resultado.
Ao lidar com caminhos de arquivos ou URLs que contêm barras, você pode escrever expressões limpas sem a necessidade de caracteres de escape (\).

Para praticar a remoção de espaços em branco usando expressões regulares, crie o arquivo de exemplo spaces.txt contendo espaços à esquerda e à direita.

Ao corresponder o caractere ^, que indica o início da linha, com a expressão regular [ \t]*, que especifica espaços e caracteres de tabulação, todos os espaços no início de cada linha são removidos e exibidos.
Isso pode ser aplicado com eficiência para limpar recuos e espaços em branco em massa em documentos ou dados de log.
![sed ’s/^[ \t]*//’ spaces.txt](/ubuntu/20261008_013946_6/captures/s04_c04_sed__s_____t______spaces_txt.png)
Até aqui, revisamos os principais usos do comando sed no Linux, desde a substituição básica de texto até métodos de modificação em lote de grandes quantidades de arquivos.
Sendo uma ferramenta poderosa que reduz drasticamente tarefas repetitivas de edição de arquivos, certifique-se de aproveitá-la sempre que necessário.