shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Melhorar o case


From: Rafael de Melo Rossi
Subject: Melhorar o case
Date: Wed, 12 Jul 2006 10:38:07 -0300

 Oi Pessoal,

         Aonde trabalho desenvolvi um script que verifica em um diretório se um 
arquivo está lá ou não.

         Ele funciona só que ele não está bem escrito, seguinte:

         Todos os dias eu recebo alguns arquivos padronizados, a diferenciação 
entre eles é o codigo do parceiro, o sequencial, data e hora.

         Ex:  C201J.M901.R0010.D06071.H15:00.cnm
 
                    Sendo: M901 - Codigo do Parceiro, R0010: Sequencial do 
Arquivo , Data: D060711, Hora: H15:00

         Então criei um lista com todos os parceiros e fiz um case ENORME para 
englobar todos, sendo que o codigo de todos é identico:


         "XYZ" )
                if ls ./arq/*$reg*$Data*.com >> ./dat/$reg.dat 2>&1 #envia o 
resultado do ls para um arquivo dat
                then echo Arquivo "Encontrado com sucesso: " >> ./log/ABN.log 
#cria um log informando se encontrou o arquivo
                     tail -1 ./dat/$reg.dat >> ./log/ABN.log #insere o nome do 
arquivo no log
                fi
                ;;

         Como disse, não existe erros. São não achei esse código elegante.

        Aí vão as perguntas: Achei a idéia da lista um boa idéia, mas alguem 
tem uma outra alternativa??
                                          Realmente eu preciso usar o "case"??
                                          Tem como eu inserir o camando "tail" 
diretamente no "echo"? Até porque são inseridas duas linhas a cada vez que esse 
script é gerado.

    Agradeço a atenção de todos....

                             Rafael
                                          




Rafael de Melo Rossi
address@hidden
Tel: (21) 9608-6148
msn: address@hidden
icq: 155117468

----- Mensagem Original -----
De: mendezdba <address@hidden>
Para: address@hidden
Data: Quarta, 12 De Julho De 2006 09:37
Assunto: [shell-script] Re: ajuda com script

> Amigos, obrigado pela ajuda..
> 
> Agora fui criar o script e estou errando em alguma coisa
> 
> Foi criado o seguinte script.
> 
> #!/bin/csh
> set data   = `date`
> set auditlog = script_audit.log
> set auditold = script_audit_antigo.log
> cp -p $auditlog $auditold
> mv $auditold $auditold.`date "+%y%m%d%H%M"`
> find / -perm 0750 | xargs egrep -l '#!/bin/(csh|bash|ksh|sh)' > 
> script_audit.txt
> 
> Quando eu executo esta gerando a seguinte msg......
> 
> /bin/(csh|bash|ksh|sh)': Event not found.
> 
> Pergunta aonde esta o erro...?
> 
> Obrigado
> 
> Samuel
> 
> --- Em address@hidden, "+[+ Suicide|Solution +]+" 
> <suicide.solution@g...> escreveu
> >
> > Testei isso aqui:
> > ls -la `find / -type f -perm 0750 | xargs egrep -l '^#!/bin/
> (csh|bash)'` |
> > awk '{print$1 $9}' > /tmp/perm_750.txt
> > 
> > On 7/11/06, Flavio Junior <billpp@g...> wrote:
> > >
> > > Curioso eh curioso neh.. acabei testando e corrigindo os erros:
> > > tae a versão v2.0
> > >
> > > $ find / -type f -perm 0750 -exec sh -c 'head {} | egrep -q
> > > "#!/bin/bash|#!/bin/csh" && echo "{}" >> /tmp/logscript.txt' \;
> > >
> > >
> > > Flavio do carmo Junior aka blk1d
> > >
> > > On 7/11/06, Flavio Junior <billpp@g...> wrote:
> > > > $ find / -perm 0750 -exec head {} | 
> egrep '#!/bin/bash|#!/bin/csh" &&
> > > > echo "{}" >> /tmp/logscript.txt \;
> > > >
> > > > $ cat /tmp/logscript.txt
> > > >
> > > > (cada $ é um comando, ou seja, uma linha.)
> > > > Isso parace funcionar, nem testei pra dizer a verdade... o 
> comando
> > > > acima vai jogar todos os arquivso que tiverem em suas 10 
> primeiras
> > > > ilnhas a string "#!/bin/bash ou #!/bin/csh" e jogar no arquivo
> > > > /tmp/logscript.txt
> > > >
> > > > ps: as 10 primeiras linhas pq tem gente que nao segue o padrao 
> e bota
> > > > os comentarios antes do #! ...
> > > >
> > > > Boa sorte,
> > > >
> > > > Flavio do Carmo Junior aka blk1d
> > > >
> > > > On 7/11/06, mendezdba <smsbasis@h...> wrote:
> > > > > Amigos preciso de um script , mais nao tenho ideia de como 
> fazer..
> > > > >
> > > > > Tenho que procurar em toda maquina os script com permissao 
> 750
> > > > > que sao "#!/bin/csh ou #!/bin/bash", e que gere uma lista
> > > > > das permissoes destes arquivos em forma arquivo *.txt...?
> > > > >
> > > > > Por favor alguem poderia me ajudar .
> > > > >
> > > > > Obrigado
> > > > >
> > > > > Samuel
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > -------------------------------------------------------------
> --------
> > > > > Esta lista não admite a abordagem de outras liguagens de 
> programação,
> > > como perl, C etc. Quem insistir em não seguir esta regra será 
> moderado sem
> > > prévio aviso.
> > > > > -------------------------------------------------------------
> --------
> > > > > Sair da lista: address@hidden
> > > > > -------------------------------------------------------------
> --------
> > > > > Esta lista é moderada de acordo com o previsto em
> > > http://www.listas-discussao.cjb.net
> > > > > -------------------------------------------------------------
> --------
> > > > > Servidor Newsgroup da lista: news.gmane.org
> > > > > Grupo: gmane.org.user-groups.programming.shell.brazil
> > > > >
> > > > >
> > > > > Links do Yahoo! Grupos
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > >
> > > 
> > >
> > 
> > 
> > 
> > -- 
> > ++++++++++++++++++++++++++++
> > + Felipe Nogaroto Gonzalez  \m/   +
> > +                 aka Suicide|Solution> +
> > +      Slackware Linux :^)              +
> > + http://suicide.bunghole.com.br   +
> > ++++++++++++++++++++++++++++
> > 
> > 
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> 
> 
> 
> 
> 
> 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]