« 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 »