The UNIX and Linux Forums  
Olá e boas-vindas de Estados Unidos para o UNIX e Linux Forum! Obrigado por visitar e fazer parte da nossa comunidade global.

Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
$ aleatória relle Programação Shell Script e 6 07-11-2008 05:59
Random comando melaz Programação Shell Script e 1 07-10-2008 08:24
FTP Aleatórias whegra Programação Shell Script e 3 11-21-2007 05:22
Obter um ficheiro aleatório davidY Programação Shell Script e 6 01-01-2007 05:03
aleatória em ksh pascalbout AIX 1 01-04-2006 10:53

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 05-24-2007
keyvan keyvan is offline
Usuário
  
 

Join Date: May 2007
Lugares: 14
Aleatório

O meu problema é a seguinte, e eu espero que você pode ajudar:

Eu atualmente tem esta função:

Código:
stored_word()
{
number=$RANDOM
let "number %= 21"
case $number in
0 ) echo "energy"    ;;  1 ) echo "touch" ;;
2 ) echo "climbing" ;;   3 ) echo "declare" ;;
4 ) echo "marry"  ;;     5 ) echo "relax"   ;;
6 ) echo "bugs"     ;;   7 ) echo "inaccessible" ;;
8 ) echo "country" ;;    9 ) echo "folder" ;;
10 ) echo "individual" ;; 11 ) echo "youngest" ;;
12 ) echo "disco" ;; 13 ) echo "disturbed" ;;
14 ) echo "company" ;; 15 ) echo "scientific" ;;
16 ) echo "disaster" ;; 17 ) echo "protection" ;;
18 ) echo "curiously" ;; 19 ) echo "deranging" ;;
21 ) echo "facilities"

esac
 }
então eu recordar-lo usando o comando Dot sugeridas aqui no meu script como segue:

Código:
        . hangman_words
        word=$(stored_word)
        letters=$(echo $word | wc -c)
        letters=$(( $letters - 1 ))
        template="$(echo $word | tr '[a-z A-Z 0-9]' '.')"
        remaining=$letters
funciona bem, mas as palavras não devem estar em uma função ou código duro ... TBH e eu não sou o que eu preciso fazer, para criar uma palavra aleatoriamente, e sed awk e estão fora de questão também.

Qualquer um pode derramar uma luz sobre isto por favor?

K
  #2 (permalink)  
Old 05-24-2007
anbu23 anbu23 is offline Forum Advisor  
Usuário
  
 

Join Date: Mar 2006
Local: Bangalore, Índia
Mensagens: 1.398
Código:
number=$(( RANDOM % 21 + 1 ))
word=$( sed -n "$number p" words_list_file )
letters=$(echo $word | wc -c)
letters=$(( $letters - 1 ))
template="$(echo $word | tr '[a-z A-Z 0-9]' '.')"
remaining=$letters
  #3 (permalink)  
Old 05-24-2007
keyvan keyvan is offline
Usuário
  
 

Join Date: May 2007
Lugares: 14
Citação:
Originally Posted by anbu23
Código:
number=$(( RANDOM % 21 + 1 ))
word=$( sed -n "$number p" words_list_file )
letters=$(echo $word | wc -c)
letters=$(( $letters - 1 ))
template="$(echo $word | tr '[a-z A-Z 0-9]' '.')"
remaining=$letters
o que pode ser utilizado em vez de sed, Como eu não sei nada sobre sed e sim aprender shell script primeiro e depois olhar para sed, Também só para que eu possa compreender melhor este, a palavra aleatória ficheiro, necessita de uma palavra por linha e numeradas para isto funcionar?

Você é uma estrela

Keyvan

Última edição por keyvan; em 05/24/2007 08:25.. Motivo: mais informação
  #4 (permalink)  
Old 05-24-2007
anbu23 anbu23 is offline Forum Advisor  
Usuário
  
 

Join Date: Mar 2006
Local: Bangalore, Índia
Mensagens: 1.398
Citação:
Originally Posted by keyvan
o que pode ser utilizado em vez de sed, Como eu não sei nada sobre sed e sim aprender shell script primeiro e depois olhar para sed, Também só para que eu possa compreender melhor este, a palavra aleatória ficheiro, necessita de uma palavra por linha e numeradas para isto funcionar?

Você é uma estrela

Keyvan
Código:
no=$(( RANDOM % 21 + 1 ))
while read str
do
	(( no = no - 1 ))
	if [[ $no -eq 0 ]]; then
		word=$str
		break
	fi
done < words_list_file 
letters=$(echo $word | wc -c)
letters=$(( $letters - 1 ))
template="$(echo $word | tr '[a-z A-Z 0-9]' '.')"
remaining=$letters
  #5 (permalink)  
Old 05-24-2007
keyvan keyvan is offline
Usuário
  
 

Join Date: May 2007
Lugares: 14
Citação:
Originally Posted by anbu23
Código:
no=$(( RANDOM % 21 + 1 ))
while read str
do
	(( no = no - 1 ))
	if [[ $no -eq 0 ]]; then
		word=$str
		break
	fi
done < words_list_file 
letters=$(echo $word | wc -c)
letters=$(( $letters - 1 ))
template="$(echo $word | tr '[a-z A-Z 0-9]' '.')"
remaining=$letters
estou correto presumir que o script acima irá produzir uma palavra aleatória, desde que as palavras são definidas como segue:

[TEXTO]
palavra1
word2
word3
word4
etc.
[/ TEXTO]

K
  #6 (permalink)  
Old 05-24-2007
anbu23 anbu23 is offline Forum Advisor  
Usuário
  
 

Join Date: Mar 2006
Local: Bangalore, Índia
Mensagens: 1.398
Citação:
Originally Posted by keyvan
estou correto presumir que o script acima irá produzir uma palavra aleatória, desde que as palavras são definidas como segue:

[TEXTO]
palavra1
word2
word3
word4
etc.
[/ TEXTO]

K
Está certo. Mantenha cada palavra em uma linha separada
  #7 (permalink)  
Old 05-24-2007
keyvan keyvan is offline
Usuário
  
 

Join Date: May 2007
Lugares: 14
Citação:
Originally Posted by anbu23
Código:
no=$(( RANDOM % 21 + 1 ))
while read str
do
	(( no = no - 1 ))
	if [[ $no -eq 0 ]]; then
		word=$str
		break
	fi
done < words_list_file 
letters=$(echo $word | wc -c)
letters=$(( $letters - 1 ))
template="$(echo $word | tr '[a-z A-Z 0-9]' '.')"
remaining=$letters
Tenho uma pergunta ou duas para melhor compreender este script:

1 - $ str \u003d string?
2 - Como dose comparar o script e lê a palavra linha?

Espero que as perguntas não são estúpidos, apenas a tentar obter uma melhor compreensão.

Thx

K
Closed Thread

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 01:53.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0