O comando sed (editor de fluxo) no Unix é um poderoso editor de texto que processa dados com base em uma série de comandos especificados por expressões regulares. Ele permite que os usuários pesquisem e manipulem padrões em arquivos de texto ou fluxos de dados de uma forma não interativa.
Aqui está uma visão geral do comando sed:
1.
Invocação :Sed é invocado na linha de comando digitando o comando "sed" seguido de opções, parâmetros e o script de comando.
2.
Opções :Sed oferece várias opções para personalizar seu comportamento, como:
-
-f :especifica o arquivo que contém o script sed.
-
-eu :edita arquivos no local (tenha cuidado ao usar isso!).
-
-n :Suprime a saída padrão; útil quando combinado com comandos de impressão.
-
-r :ativa expressões regulares estendidas.
3.
Comandos :Sed usa uma série de comandos para realizar diversas operações de edição. Alguns comandos comuns incluem:
-
s :Substitua um padrão por outro.
-
g :aplique a substituição globalmente em cada linha correspondente.
-
p :Imprima a linha atual.
-
d :Exclua a linha atual.
-
eu :Insere uma linha antes da linha atual.
-
uma :acrescenta uma linha após a linha atual.
4.
Expressões regulares :Sed usa expressões regulares para combinar padrões no texto. Expressões regulares são ferramentas poderosas que permitem correspondência de padrões complexos.
Aqui estão alguns exemplos de como o sed pode ser usado:
1. Para substituir “Unix” por “Linux” em um arquivo chamado “text.txt”:
```
sed 's/Unix/Linux/g' text.txt
```
2. Para excluir todas as linhas que contenham a palavra "erro":
```
sed '/error/d' log.txt
```
3. Para imprimir apenas linhas que começam com "This":
```
sed '/^This/p' input.txt
```
4. Para inserir uma linha "
Título " antes de cada ocorrência de "Capítulo" em um arquivo:
```
sed '/Capítulo/i\
Título ' livro.txt
```
O comando sed é uma ferramenta versátil para manipulação de texto e processamento de dados. Pode ser desafiador no início, mas depois que você domina suas expressões regulares e comandos, torna-se uma ferramenta muito poderosa para automatizar tarefas repetitivas de edição de texto.