Sed - Introdução

Introdução ao Sed, por meio de exemplos, cobrindo os tópicos: enviando dados pro sed, selecionando as linhas para edição, substituição, scripts em sed, expressões regulares, referências por &, back reference, hold space/ espaço reserva, dicas de comandos, jogos, exemplos e material para prosseguir nos estudos sobre Sed.

[ Hits: 84.807 ]

Por: jarlisson moreira em 16/07/2012


Introdução - o que é e para que serve



Sed é a sigla para Stream Editor, é um editor que funciona por linha de comando, ou em sed e shell scripts.

É uma ferramenta padrão em sistemas Unix (Linux, BSD, etc), e foi desenvolvido por Lee E. McMahon, da grande Bell Labs, e foi uma evolução do comando grep aliado à funcionalidade do ed (text editor), predecessor do sed.

O sed funciona de forma sequencial, linha por linha.

Você carrega os dados pro sed, através de canalização (pipe, cat) ou passando um arquivo para o mesmo, junto com algumas instruções e o sed devolve o resultado destas instruções nos dados, sempre por linha, que podem ser salvas no próprio arquivo, redirecionadas para outro arquivo ou redirecionadas para outra forma de saída, como serem simplesmente mostradas na tela.

A utilidade do sed é enorme, principalmente com o uso das expressões regulares. Com o sed, você faz edições em textos, acha coisas e substitui, tudo isso de uma forma bem simples com poucos comandos.

Essencial para quem trabalha com dados, textos, strings, linguagens de programação, HTML, etc, pois ele faz edições nos seus arquivos sem a necessidade de abri-los.

Se os seus arquivos mantiverem uma certa padronização, facilita bastante a manutenção destes, principalmente códigos-fonte. Lembrando que os arquivos do Unix, em sua maioria, são textos. Portanto, para estudo e extração de informações do sistema, é uma ferramenta comumente usada.

Inspirou o Perl e é 'parente' do AWK, portanto, se já estudou expressões regulares, já está a mais de meio caminho andado. O fato de não utilizar variáveis, evidencia sua simplicidade e foco.

Quer apagar todos os comentários do seu código? Use sed.

Imagine que você tem um programa com centenas de arquivos ou centenas de páginas em HTML ou PHP, e quer adicionar o nome do seu colega, que vai te ajudar no projeto, use sed.

Neste mesmo projeto, você notou que pode substituir uns trechos do código por outro trecho bem mais simples, ou se quiser adicionar algo, e este trecho buscado está em todos os arquivos, vai abrir arquivo por arquivo e substituir??

Não! Vá de sed!

    Próxima página

Páginas do artigo
   1. Introdução - o que é e para que serve
   2. Enviando dados para o sed
   3. Substituindo
   4. Scripts em sed
   5. Expressões regulares
   6. Referenciando com & - Back reference
   7. Hold space
   8. Por onde prosseguir e considerações finais
Outros artigos deste autor

Processos

Pipelines (Canalizadores)

AWK - Introdução

LibreOffice Math

Shell - Funções

Leitura recomendada

Programando em Shell Script para iniciantes

Explorando a entrada de dados com READ em Bash Shell

Algoritmos em Shell Script

Introduzindo um pouco mais a fundo o shell script

Introduzindo um pouco mais a fundo o shell script (revisado)

  
Comentários
[1] Comentário enviado por eldermarco em 16/07/2012 - 10:53h

Muito bom! Super bem escrito e bastante didático, exatamente como o artigo sobre o AWK que você escreveu. Nota 10!

[2] Comentário enviado por removido em 16/07/2012 - 12:42h

i like too!

[3] Comentário enviado por eduardo em 16/07/2012 - 14:13h

Ótimo artigo! Parabéns! Acabei de perceber que uso menos de 5% do poder do sed. :)

[4] Comentário enviado por sir.guil em 16/07/2012 - 15:05h

Parabéns, era uma coisa que faltava aqui no vol,

sempre que precisei estudar o sed, dependi do http://aurelio.net/sed/

agora estamos + completos

[5] Comentário enviado por julio_hoffimann em 16/07/2012 - 17:56h

Novamente parabéns Jarlisson!

Artigos bastante claros que ajudarão muitos no VOL.

Abraço!

[6] Comentário enviado por marcelo.castro.l em 17/07/2012 - 08:10h

Cara, muito bom esse artigo.
Salvou minha pátria aqui na empresa.
Precisava manipular um arquivo gerado pelo:

#iptables -L

Porém não precisava dele formatado com os espaços, graças ao "sed" tudo fluiu perfeitamente.

Obrigado!

[7] Comentário enviado por H4cktz em 19/02/2019 - 12:09h

Muito bom! Super bem escrito e bastante didático, Nota 1000! Finalmente estou aprendendo SED!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts