Agradeço pelas explicações também. Não estava entendendo direito o que o RANDOM estava fazendo. Apesar de ter consultado o livro do Mestre Julio que tinha exemplos com números usando o RAND, não tinha conseguido assemelhar com as letras. Mas pelas explicações, identifiquei as habilidades para a formação das palavras.
Porém, para ter o efeito que queria, pois a minha idéia inicial era simular um autômato finito que gerasse as palavras à partir de um modelo. Então fiz a seguinte modificação, não só para testar mas para ver como que ficaria. ((RANDOM % 2)) && echo -n a && echo -n b || echo -n ab || echo -n b || echo -n ba || echo -n a && echo -n ba e gerou: abbaabbaabbaabbaabba abbaabbaabbaabbaabbaabba abbaabbaabbaabbaabbaabba abbaabbaabbaabba abbaabbaabbaabbaabbaabbaabba Não foi bem o que pretendia, pois não quero que apareça palavras seqüenciais do tipo abbaabbaabba e sim ababbbbbaba, ababbbbaaaaba e assim por diante. Pergunto, existe a possibilidade de ter exatamente o que pretendo usando ER´s ou será que estou querendo demais? Valeu! ----- Original Message ----- From: daniel To: [email protected] Sent: Tuesday, September 05, 2006 8:47 AM Subject: Re: [shell-script] Criar palavras Aos amigos Julio Neves e Thomas de Oliveira, Meu muito obrigado pelas explicações.... Valeu demais... Daniel Freitas Em Ter, 2006-09-05 às 00:36 -0300, Julio C. Neves escreveu: > 2006/9/4, daniel <[EMAIL PROTECTED]>: > > > > Oi gente, > > > > Testei este script e achei interessante, > > Mas na verdade não consegui entender direito as formações 'seq > $((RANDOM > > % 5 + 3))' e ((RANDOM%2)) && echo -n a || echo -n b. > > > > Eu nunca havia usado a variavel RANDOM. > > 1)Porque ela está dentro dos dois parenteses de operações > matemáticas ? > > > > Pq esta é uma forma de se fazer operações aritméticas com inteiros. > Teste: > > echo $((3+2)) > echo $((3-2)) > echo $((3*2)) > echo $((3/2)) > echo $((3%2)) > > 2)Qual a finalidade do % ? Fico me perguntando se tem alguma coisa > haver > > 3)Com expansions.... Mas as expanões não são dentro de { } ? > > > > O % é o resto da divisão. Então se o resto for 1 escrevo a se for zero > escrevo b > > 4)Qual a diferença entre % 5 + 3 e %2 ao lado do RANDOM e dentro dos > > parenteses ? > > > > O primeiro, eu somo 3 ao resto da divisão do conteúdo da variável > RANDOM por > 5 (0, 1, 2, 3, 4), otendo um número entre 3 e 7 (errei qdo escrevi 8 > no > outro e-mail) > > 5) Porque a primeira estrutura tem espaços e a segunda não ? > > > > Foi para mostrar que tanto faz... :) > > 6) Como o comando seq age junto com a primeira estrutura ? > > > > Vai repetir 100 vezes o for que gera de 3 a sete letras e o echo puro > para > saltar uma linha ao final de cada palavra gerada pelo for. > > Valeu... > > > > > > Daniel Freitas > > > > > > Em Seg, 2006-09-04 às 17:38 -0300, Julio C. Neves escreveu: > > > Experimente o seguinte: > > > > > > #!/bin/bash > > > > > > for i in `seq 100` > > > do > > > for j in `seq $((RANDOM % 5 + 3))` > > > do > > > ((RANDOM%2)) && echo -n a || echo -n b > > > done > > > echo > > > done > > > > > > Desta forma vc obterá 100 palavras com 3 a 8 caracteres cada, e > uma > > > por > > > linha. > > > > > > Abraços, > > > Julio > > > :wq > > > > > > > > > > > > > > > > > > Em 04/09/06, Adauto Santos <[EMAIL PROTECTED]> escreveu: > > > > > > > > > > > > Olá Julio, > > > > > > > > Fiz o teste com o seguinte código: > > > > > > > > #!/bin/bash > > > > for i in `seq 100` > > > > do > > > > echo -n > > > > > > > > ((RANDOM%2)) && echo -n a || echo -n b > > > > done > > > > > > > > Funcionou direitinho, porém, gostaria que não concatenasse as > > > palavras > > > > geradas. O primeiro echo em negrito, coloquei para que as > palavras > > > não > > > > surgissem na mesma linha, porém, não consegui verificar um ponto > > > estratégico > > > > para adicionar um outro echo e ir pulando as linhas. > > > > > > > > Obrigado > > > > > > > > > > > > Adauto > > > > > > > > > > > > > > > > ----- Original Message ----- > > > > From: Julio C. Neves > > > > To: [email protected] > > > > Sent: Monday, September 04, 2006 3:59 PM > > > > Subject: Re: [shell-script] Criar palavras > > > > > > > > > > > > Fala Adauto, > > > > > > > > ((RANDOM%2)) && echo -n a || echo -n b > > > > > > > > Basta botar a linha acima dentro de um loop que faça a qtde de > > > > intereções > > > > que vc deseja. > > > > > > > > Abraços, > > > > Julio > > > > :wq > > > > > > > > > > > > > > > > Em 04/09/06, Adauto Santos <[EMAIL PROTECTED]> > escreveu: > > > > > > > > > > Olá Lista, > > > > > > > > > > Gostaria de elaborar um script que pudesse gerar palavras no > > > seguinte > > > > > aspecto. > > > > > > > > > > O modelo : ab ( abb* + baa* ) * ba > > > > > > > > > > As palavras : abba, ababba, abbaba, ababbbbba, > > > ababbbbaaaaaba .... > > > > > > > > > > Existe essa possibilidade usando shell-script? > > > > > > > > > > Obrigado > > > > > > > > > > Adauto > > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram > > > removidas] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > Abraços, > > > > Julio > > > > http://www.julioneves.com - Um livro sobre Bash completo e > on-line > > > > :wq > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram > removidas] > > > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram > removidas] > > > > > > > > > > > > > > > > > > > > > > > > -- > > > Abraços, > > > Julio > > > http://www.julioneves.com - Um livro sobre Bash completo e on-line > > > :wq > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > > > > -- > Abraços, > Julio > http://www.julioneves.com - Um livro sobre Bash completo e on-line > :wq > > > [As partes desta mensagem que não continham texto foram removidas] > > [As partes desta mensagem que não continham texto foram removidas] --------------------------------------------------------------------- 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
