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

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

Re: [shell-script] Criar palavras


From: Adauto Santos
Subject: Re: [shell-script] Criar palavras
Date: Tue, 5 Sep 2006 15:17:35 -0300

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: address@hidden 
  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 <address@hidden>:
  > >
  > > 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 <address@hidden> 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: address@hidden
  > > > >   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 <address@hidden>
  > 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]



reply via email to

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