« anterior | índice | próximo »

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

2.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.

2.2. O que significa a palavra sed

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

2.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.

2.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.

2.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 »