« anterior | índice | próximo »

Vamos conhecer um pouco o Sed, mostrar que ele não é o bicho de Sed cabeças que aparenta :)

0.1. Descrição do Sed

O Sed é um editor de textos não interativo.

Ele pode editar automaticamente, sem interação do usuário, vários arquivos seguindo um conjunto de regras especificadas.

0.2. O que significa a palavra Sed

Vem do inglês "Stream EDitor", ou seja, editor de fluxos (de texto).

0.3. Como saber se devo usar o Sed

Sendo um editor de textos não interativo, o Sed é excelente para desempenhar algumas tarefas, mas em outras seu uso não é aconselhado.

0.3.1. Quando usar o Sed

A característica principal do Sed é poder editar arquivos automaticamente.

Então sempre que você precisar fazer alterações sistemáticas em vários arquivos, o Sed é uma solução eficaz.

Por exemplo, você tem um diretório cheio de relatórios de vendas, e descobriu que por um erro na geração, todas as datas saíram erradas, com o ano de 1999 onde era para ser 2000. Num editor de textos normal, você tem que abrir os relatórios um por um e alterar o ano em todas as ocorrências.

Certo, isso não é tão complexo se o editor de textos possuir uma ferramenta de procura e troca, também chamado de substituição.

Mas então suponhamos que o erro da data não seja o ano, e sim o formato, tendo saído como mm/dd/aaaa quando deveria ser dd/mm/aaaa. Aqui não é uma substituição e sim uma troca de lugares, e uma ferramenta simples de procura e troca não poderá ajudar.

Esse é um caso típico onde o Sed mostra seu poder: alterações complexas em vários arquivos.

Utilizando o Sed, a solução para este problema (que veremos adiante) é até simples, bastando definir uma série de regras de procura e troca, e o programa se encarregará de executá-las e arrumar os relatórios.

0.3.2. Quando não usar o Sed

Nenhuma ferramenta é ideal para todas as tarefas, e o Sed não é uma exceção à regra.

2.3.2.1. Edição genérica de textos

Ele não é prático para ser utilizado como editor de textos de uso genérico.

Para escrever textos, ou alterar coisas simples, é mais rápido e fácil abrir um editor de textos interativo como o vi ou o emacs e fazer a alteração "na mão".

2.3.2.2. Programação avançada

O Sed não é uma linguagem de programação completa, pois não possui variáveis, funções matemáticas, interação com o sistema operacional, entre outras limitações. Mas bem, ele é um manipulador de texto e não uma linguagem de uso geral.

Algumas estruturas complexas podem ser simuladas com alguma técnica, mas se o seu programa em Sed começou a inchar muito, é aconselhável reescrevê-lo numa linguagem com mais recursos, como o perl.

« anterior | índice | próximo »

Aprenda mais sobre Sed