Re: [shell-script] Qual o FOR mais rápido
Acredito que a razão seja outra. O seq é executado de uma vez e gera toda a seguencia de numeros, assim o "for" só precisa percorrer ela. No segundo caso, para cada iteração é necessário executar uma operação matemática e uma comparação. On 4/14/07, Thiago Argolo <[EMAIL PROTECTED]> wrote: > > No primeiro, assim como no segundo script, há um incremento, no primeiro > caso declarado explicitamente enquanto no segundo atraves do seq. Porem, > no > primeiro para cada repetição do laço ele faz uma comparação (se i <= > 9) > o que diminui a eficiencia do codigo. > Acho que é isso, corrijam-me se estiver errado! > > Em 13/04/07, Amador Pahim <[EMAIL PROTECTED]> > escreveu: > > > > > Estava eu aqui fazendo meus .sh, e me deparei com uma dúvida: Qual é a > > forma mais rápida de execução do comando FOR. Cheguei a tais resultados: > > > > Script teste01.sh: > > > > for ((i=1; i<=9; i++)) > > do > > if [ $i == 9 ] > > then > > echo Executando ultimo laço > > fi > > done > > > > > > [EMAIL PROTECTED]:~# time ./teste01.sh > > Executando ultimo laço > > > > real 0m4.037s > > user 0m3.604s > > sys 0m0.172s > > > > Script teste02.sh: > > > > for i in $(seq 9) > > do > > if [ $i == 9 ] > > then > > echo Executando ultimo laço > > fi > > done > > > > > > [EMAIL PROTECTED]:~# time ./teste02.sh > > Executando ultimo laço > > > > real 0m2.701s > > user 0m2.432s > > sys 0m0.176s > > > > Esses resultados me deixaram um pouco confuso, pois imaginei que meu > > script 01, por utilizar um incremento nativo do FOR fosse ser mais > > rápido do que o script 02, que usa uma chamada a um comando externo. > > Alguem poderia me ajudar a interpretar melhor esses resultados? > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > -- Christian Lyra PoP-PR/RNP [As partes desta mensagem que não continham texto foram removidas]
Re: Re: [shell-script] Qual o FOR mais rápido
O melhor é você ver as operações realizadas fazendo um set -x antes do loop. Isso não mostrará o tempo para execução de cada uma mas dará um visão do que ocorre. Também considero interessante para a comparação temporal reduzir as operações no loop, por exemplo: for i in $(seq 9) do : done Indo apenas até 9 é suficiente para apreciação do set -x. Para a medição do efeito penso que um loop que ultrapasse o minuto seria mais conveniente para estabelecer proporções reduzindo influênica de tempos de carga de programas envolvidos, claro que sem o -x então. Normalmente os programas externos são mais eficientes no que fazem, pois geralmente são especializados. A vantagem dependerá da quantidade de trabalho que realizará, do tempo para ser posto em funcionamento e dos recursos que absorverá em relação ao disponível. -- >From: "Christian Lyra" <[EMAIL PROTECTED]> >Date: Sat, 14 Apr 2007 08:25:20 -0300 > >Acredito que a razão seja outra. O seq é executado de uma vez e gera toda a >seguencia de numeros, assim o "for" só precisa percorrer ela. No segundo >caso, para cada iteração é necessário executar uma operação matemática e uma >comparação. > >On 4/14/07, Thiago Argolo <[EMAIL PROTECTED]> wrote: >> >> No primeiro, assim como no segundo script, há um incremento, no primeiro >> caso declarado explicitamente enquanto no segundo atraves do seq. Porem, >> no >> primeiro para cada repetição do laço ele faz uma comparação (se i <= >> 9) >> o que diminui a eficiencia do codigo. >> Acho que é isso, corrijam-me se estiver errado! >> >> Em 13/04/07, Amador Pahim <[EMAIL PROTECTED]> >> escreveu: >> >> > >> > Estava eu aqui fazendo meus .sh, e me deparei com uma dúvida: Qual é a >> > forma mais rápida de execução do comando FOR. Cheguei a tais resultados: >> > >> > Script teste01.sh: >> > >> > for ((i=1; i<=9; i++)) >> > do >> > if [ $i == 9 ] >> > then >> > echo Executando ultimo laço >> > fi >> > done >> > >> > >> > [EMAIL PROTECTED]:~# time ./teste01.sh >> > Executando ultimo laço >> > >> > real 0m4.037s >> > user 0m3.604s >> > sys 0m0.172s >> > >> > Script teste02.sh: >> > >> > for i in $(seq 9) >> > do >> > if [ $i == 9 ] >> > then >> > echo Executando ultimo laço >> > fi >> > done >> > >> > >> > [EMAIL PROTECTED]:~# time ./teste02.sh >> > Executando ultimo laço >> > >> > real 0m2.701s >> > user 0m2.432s >> > sys 0m0.176s >> > >> > Esses resultados me deixaram um pouco confuso, pois imaginei que meu >> > script 01, por utilizar um incremento nativo do FOR fosse ser mais >> > rápido do que o script 02, que usa uma chamada a um comando externo. >> > Alguem poderia me ajudar a interpretar melhor esses resultados? - 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: [EMAIL PROTECTED] - 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 <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/shell-script/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [shell-script] Qual o FOR mais rápido
A diferença esta em que no segundo não há uma incrementação de variavel (i++) ele simplesmente utiliza a lista gerada pelo seq. On 4/13/07, Amador Pahim <[EMAIL PROTECTED]> wrote: > Estava eu aqui fazendo meus .sh, e me deparei com uma dúvida: Qual é a > forma mais rápida de execução do comando FOR. Cheguei a tais resultados: > > Script teste01.sh: > > for ((i=1; i<=9; i++)) > do > if [ $i == 9 ] > then > echo Executando ultimo laço > fi > done > > > [EMAIL PROTECTED]:~# time ./teste01.sh > Executando ultimo laço > > real0m4.037s > user0m3.604s > sys 0m0.172s > > > Script teste02.sh: > > for i in $(seq 9) > do > if [ $i == 9 ] > then > echo Executando ultimo laço > fi > done > > > [EMAIL PROTECTED]:~# time ./teste02.sh > Executando ultimo laço > > real0m2.701s > user0m2.432s > sys 0m0.176s > > > > Esses resultados me deixaram um pouco confuso, pois imaginei que meu > script 01, por utilizar um incremento nativo do FOR fosse ser mais > rápido do que o script 02, que usa uma chamada a um comando externo. > Alguem poderia me ajudar a interpretar melhor esses resultados? > > > > - > 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: [EMAIL PROTECTED] > - > 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 > > > -- Reinaldo Carvalho Debian Sarge 3.1 - Linux User: #238310 Prodepa - [EMAIL PROTECTED]
[shell-script] Algum script eficiente de bakcup mysql
Gostaria de um scritp q salva-se em txt ou zip e me mandasse o email dos dados se possivel apagando os dados da tabela apos a confirmacao do envio... e como poderia agendar issu no linux para ser feito todos os dias __ Fale com seus amigos de graça com o novo Yahoo! Messenger http://br.messenger.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas]
Re: [shell-script] Algum script eficiente de bakcup mysql
Adcione na crontab, http://en.wikipedia.org/wiki/Crontab []'s - Original Message - From: Rony Linux To: [EMAIL PROTECTED] Sent: Saturday, April 14, 2007 7:16 PM Subject: [shell-script] Algum script eficiente de bakcup mysql Gostaria de um scritp q salva-se em txt ou zip e me mandasse o email dos dados se possivel apagando os dados da tabela apos a confirmacao do envio... e como poderia agendar issu no linux para ser feito todos os dias __ Fale com seus amigos de graça com o novo Yahoo! Messenger http://br.messenger.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
Re: [shell-script] Descobrir a qual linguagem de programação o arquivo se refere.
Olá! Na minha opiniao, identificar atraves da primeira linha (#!/bin/bash, #!/bin/sh... ) eh a melhor forma. Sei que existem algumas combinacoes, mas o script servira justamente para voce tentar varias delas. Depois faça como voce mesmo disse na linguagem C, procure o '#include'. Se um arquivo nao possui a linha #!/bin/bash e derivados, provavelmente eh escrito em C. Ao menos que existam outras liguagens na pesquisa. Voce poderia usar o case para escrever o script. Tipo case 1 #!/bin/bash e derivados, case 2 #include, case 3 nenhum dos dois (entao provavelmente C). Abs!! :-]] Em Sexta 13 Abril 2007 14:30, Bruno Gunter Fricke escreveu: > Eu já vi .log ser chamado de ASCII Java também... > > Será que o header do Java Text é parecido com arquivos de texto mesmo?? > Ou será que o file não sabe o que é um Java Text? > > Em Sex, 2007-04-13 às 13:57 -0300, Tiago Barcellos Peczenyj escreveu: > > Não sei se o file resolve 100% dos problemas, > > > > ja vi ele dizer q um arquivo txt comum era um ASCII Java program text > > > > usem com cuidado ;-) > > > > On 4/13/07, Hever C. Rocha <[EMAIL PROTECTED]> wrote: > > > Outra alternativa é usar o comando file: > > > /bin/bash: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), > > > > for > > > > > GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped > > > file /etc/rc.d/rc.local > > > /etc/rc.d/rc.local: Bourne shell script text executable > > > > > > Feliz Sexta feira 13!! > > > > > > Hever > > > > > > Em 13/04/07, Tiago Barcellos Peczenyj > > > > <[EMAIL PROTECTED]> > > > > > escreveu: > > > > Diego, normalmente vc consegue isso através da extensão do > > > > arquivo. > > > > > > É como um makefile normalmente funciona. vc tem uma regra como > > > > esta > > > > > > *.o : *.c > > > > alguma ação > > > > > > > > A maioria dos compiladores acusam erro se vc tentar compilar um > > > > programa > > > > > > com > > > > extensão diferente - logo seria uma boa abordagem. Agora, no caso > > > > de > > > > > > scripts > > > > isso não é totalmente verdade, por que vc não precisa ter um > > > > arquivo com > > > > > > extensão .sh num shell por exemplo. > > > > > > > > Entretanto nesses casos vc tem a primeira linha famosa > > > > > > > > #!/lalala/interpretador > > > > > > > > ai um grep resolve ;-) > > > > > > > > Boa sorte! > > > > > > > > On 4/12/07, Diego Giovane Pasqualin > > > > <[EMAIL PROTECTED] > > > > > > > > > > > > > wrote: > > > > > Boa noite, estou criando um programa simples que adiciona > > > > cabeçalho > > > > > nos > > > > > > > > arquivos. > > > > > PorÃ(c)m, o tipo do cabeçalho depende do tipo de arquivo. Se o > > > > > > arquivo > > > > > > > for > > > > > > > > > shell, cada linha começa com "#", se for arquivo em C, tenho > > > > que > > > > > > > adicionar "/*", e assim por diante. > > > > > > > > > > Portando, gostaria de uma dica para identificar o tipo de > > > > arquivo que > > > > > > > estou trabalhando. O comando "file" não me ajuda já que > > > > reconhece > > > > > > todos > > > > > > > > > como arquivo texto. Pensei em procurar por "#!/bin/bash" no caso > > > > do > > > > > > > shell, mas teria que testar muitas outras possibilidades tb (sh, > > > > ksh, > > > > > > > expect, etc), procurar por "#include" em C, mas pode ser que o > > > > arquivo > > > > > > > nem tenha includes... > > > > > > > > > > Concluindo, qual a melhor maneira de descobrir a qual linguagem > > > > o > > > > > > > arquivo se refere? > > > > > > > > > > Obrigado, > > > > > Abraços... > > > > > > > > > > > > > > > ___ > > > > > Yahoo! Mail - Sempre a melhor opção para você! > > > > > Experimente já e veja as novidades. > > > > > http://br.yahoo.com/mailbeta/tudonovo/ > > > > > > > > -- > > > > Tiago B Peczenyj > > > > Linux User #405772 > > > > > > > > # cd /pub > > > > # more beer > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > -- > > Tiago B Peczenyj > > Linux User #405772 > > > > # cd /pub > > # more beer > > > > [As partes desta mensagem que não continham texto foram removidas] > > [As partes desta mensagem que não continham texto foram removidas]
Re: [shell-script] Algum script eficiente de bakcup mysql
O agendamento pode ser feito no /etc/cron.daily. Procure pelo daemon 'cron' no www.vivaolinux.com.br ou no google para saber como funciona. Eh bem tranquilo! Abraços! Em Sábado 14 Abril 2007 19:16, Rony Linux escreveu: > Gostaria de um scritp q salva-se em txt ou zip e me mandasse o email dos > dados se possivel apagando os dados da tabela apos a confirmacao do > envio... e como poderia agendar issu no linux para ser feito todos os > dias > > __ > Fale com seus amigos de graça com o novo Yahoo! Messenger > http://br.messenger.yahoo.com/ > > [As partes desta mensagem que não continham texto foram removidas]
Re: [shell-script] Algum script eficiente de bakcup mysql
Rony (faz um gol rapaz :-P) Para o backup use o mysqldump, por exemplo: $ mysqldump -h localhost -u usuario -p banco > backup_banco.sql Para "backupear" todas as tabelas do banco você pode usar o parâmetro --all-databases, por exemplo $ mysqldump --all-databases > all_databases.sql Qualquer dúvide, visite http://dev.mysql.com/doc/refman/5.0/en/mysqldump.html Para enviar um e-mail após o dump, use o sendmail. Por exemplo: /usr/sbin/sendmail $email << EOF Subject: Rotina de backup From: localhost To: seu email O backup acabou! EOF Então você tem que fazer algo como: #!/bin/bash mysqldump -h localhost -u usuario -p banco > backup_banco.sql /usr/sbin/sendmail $email << EOF Subject: Rotina de backup From: localhost To: seu email O backup acabou! EOF Se quiser, adicione na cron (leia aquele link que te mandei antes) e vá adicionando as perfumarias à gosto ;-) []'s Gunter - Original Message - From: marcus To: [EMAIL PROTECTED] Sent: Saturday, April 14, 2007 8:35 PM Subject: Re: [shell-script] Algum script eficiente de bakcup mysql O agendamento pode ser feito no /etc/cron.daily. Procure pelo daemon 'cron' no www.vivaolinux.com.br ou no google para saber como funciona. Eh bem tranquilo! Abraços! Em Sábado 14 Abril 2007 19:16, Rony Linux escreveu: > Gostaria de um scritp q salva-se em txt ou zip e me mandasse o email dos > dados se possivel apagando os dados da tabela apos a confirmacao do > envio... e como poderia agendar issu no linux para ser feito todos os > dias > > __ > Fale com seus amigos de graça com o novo Yahoo! Messenger > http://br.messenger.yahoo.com/ > > [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]