The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
$ tilfældige relle Shell Programmering og Scripting 6 07-11-2008 06:59 AM
Tilfældige kommando melaz Shell Programmering og Scripting 1 07-10-2008 09:24 PM
FTP Tilfældige filer whegra Shell Programmering og Scripting 3 11-21-2007 05:22 PM
Kom godt i en tilfældig fil davidY Shell Programmering og Scripting 6 01-01-2007 05:03 AM
tilfældigt i ksh pascalbout AIX 1 01-04-2006 10:53 AM

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 Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 05-24-2007
keyvan keyvan is offline
Registreret Bruger
  
 

Join Date: May 2007
Stillinger: 14
Random

Mit problem er som følger, og jeg håber du kan hjælpe:

I øjeblikket har denne funktion:


Code:
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
 }

da jeg mindede om den ved hjælp af Dot kommando foreslås her i mit script som følger:


Code:
        . 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

arbejder fint, men ordene skulle ikke være i en funktion eller hård kodet ... og tbh jeg ikke hvad jeg skal gøre, for at skabe et ord tilfældigt, og sed og awk er ude af spørgsmål også.

Kan nogen kaste lys på denne please?

K
  #2 (permalink)  
Old 05-24-2007
anbu23 anbu23 is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Mar 2006
Beliggenhed: Bangalore, Indien
Indlæg: 1.398

Code:
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
Registreret Bruger
  
 

Join Date: May 2007
Stillinger: 14
Citat:
Oprindeligt Indsendt af anbu23
Code:
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
hvad der kan anvendes i stedet for sed, Som jeg dont kende noget om sed og snarere lære shell scripting først og derefter se på sedOgså bare så jeg kan forstå det bedre, det tilfældige Word-fil, er behov for et ord per linie og nummereret for dette arbejde?

Du er en stjerne

Keyvan

Sidst redigeret af keyvan; 05-24-2007 på 09:25 AM.. Årsag: flere oplysninger
  #4 (permalink)  
Old 05-24-2007
anbu23 anbu23 is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Mar 2006
Beliggenhed: Bangalore, Indien
Indlæg: 1.398
Citat:
Oprindeligt Indsendt af keyvan
hvad der kan anvendes i stedet for sed, Som jeg dont kende noget om sed og snarere lære shell scripting først og derefter se på sedOgså bare så jeg kan forstå det bedre, det tilfældige Word-fil, er behov for et ord per linie og nummereret for dette arbejde?

Du er en stjerne

Keyvan

Code:
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
Registreret Bruger
  
 

Join Date: May 2007
Stillinger: 14
Citat:
Oprindeligt Indsendt af anbu23
Code:
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
Har jeg ret til at antage, at ovenstående script vil producere et tilfældigt ord, så længe de ord er fastsat som følger:

[TEKST]
word1
word2
word3
word4
mv.
[/ TEKST]

K
  #6 (permalink)  
Old 05-24-2007
anbu23 anbu23 is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Mar 2006
Beliggenhed: Bangalore, Indien
Indlæg: 1.398
Citat:
Oprindeligt Indsendt af keyvan
Har jeg ret til at antage, at ovenstående script vil producere et tilfældigt ord, så længe de ord er fastsat som følger:

[TEKST]
word1
word2
word3
word4
mv.
[/ TEKST]

K
Du har ret. Hold hvert ord i en særskilt linje
  #7 (permalink)  
Old 05-24-2007
keyvan keyvan is offline
Registreret Bruger
  
 

Join Date: May 2007
Stillinger: 14
Citat:
Oprindeligt Indsendt af anbu23
Code:
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
Jeg har et spørgsmål eller to til bedre at forstå dette script:

1 - $ str \u003d strengen???
2 - hvordan dosis scriptet sammenligne og læser ordet linje?

Jeg håber, at spørgsmålene er ikke dum, blot forsøger at få en bedre forståelse.

Thx

K
Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 11:16 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0