em varios arquivos. Utilizando o Sed, a solucao para esteproblema (que veremos adiante) e ate simples, bastando definir umaserie de regras de procura e troca, e o programa se encarregara deexecuta-las e arrumar os relatorios. Quando nao usar o SedNenhuma ferramenta e ideal para todasas tarefas, e o Sed nao e uma excecao a regra. Edicao generica de textosEle nao e pratico para ser utilizadocomo editor de textos de uso generico. Para escrever textos, ou alterar coisassimples, e mais rapido e facil abrir um editor de textosinterativo como o vi ou o emacs e fazer a alteracao "na mao".Programacao avancadaO Sed nao e uma linguagem deprogramacao completa, pois nao possui variaveis, funcoesmatematicas, interacao com o sistema operacional, entre outraslimitacoes. Mas bem, ele e um manipulador de texto e nao umalinguagem de uso geral. Algumas estruturas complexas podem sersimuladas com alguma tecnica, mas se o seu programa em Sed comecoua inchar muito, e aconselhavel reescreve-lo numa linguagem commais recursos, como o perl. Como ele funcionaO Sed funciona como um filtro, por ondevoce passa um texto X e ele joga na saida um texto Y. O texto X virou Y seguindo algumasregrinhas que voce determinou. Pense no Sed como um processador dealimentos, dependendo da lamina utilizada, a batata sai cortada deuma maneira diferente :) o Sed funciona como um filtro, ouconversor. o Sed e orientado a linha, de cimapara baixo, da esquerda para a direita. o Sed le uma linha da entrada padrao(STDIN) ou de um arquivo especificado, aplica os comandos de edicaoe mostra o resultado na saida padrao (STDOUT). vai para a proximalinha e repete o processo. o Sed aceita enderecos para oscomandos. o Sed aplica os comandos para todas aslinhas caso um endereco nao seja especificado. o Sed faz uso intensivo de expressoesregulares. Sua sintaxeA sintaxe generica de um comando Sede: sed [opcoes] regras [arquivo]Sendo que regras tem a forma genericade: [endereco1 [, endereco2]] comando[argumento]ExemploComo notacao tradicional, o que esta[entre colchetes] e opcional, entao a sintaxe Sed mais simples queexiste e sed regra como em: prompt$ cattexto.txt | sed pOu seja, o Sed lendo da entrada padraoo conteudo do arquivo texto.txt via duto |, aplica o comando p paratodas as linhas do arquivo, ou seja, as duplica. 0.2.2. Outros exemplosUm outro exemplo do Sed com opcoes erecebendo um arquivo como parametro seria: prompt$ sed -n p texto.txtE ainda, agora especificando umendereco para o comando p: prompt$ sed -n 5p texto.txtOu seja, este comando imprime apenas alinha 5 do texto.txt Tornando arquivos Sed executaveisO interpretador de comandos maisutilizado (bash) sempre procura na primeira linha de um arquivoinstrucoes para executa-lo. Se um arquivo e um programinha emshell, basta colocar #!/bin/shNa primeira linha para que o bash saibaque deve executa-lo com o comando /bin/sh. O mesmo funciona paraqualquer outro interpretador, como o Sed. entao para tornar umarquivos de comandos Sed executavel basta colocar como primeiralinha: #!/bin/sed -fE e claro, torna-lo executavel: prompt$ chmod +x programa.sedE na linha de comando, chame-onormalmente: prompt$./programa.sed texto.txtprompt$ cattexto.txt | ./programa.sedDescricao de todos os comandosprompt$ man sedprompt$ pinfo sedOu num resumo rapido: Legenda:[ARQUIVO] arquivo ou fluxo detexto (via pipe) original a