The UNIX and Linux Forums  
Hello and Welcome-tól az Egyesült Államokat, hogy az UNIX és Linux Forums? Köszönjük, hogy meglátogatta és csatlakozik Globális Közösség.

Go Back   A UNIX és Linux Forums > Top Fórumok > Shell programozás és Scripting
.
google unix.com



Shell programozás és Scripting Post kérdések KSH, CSH, SH, Bash, Perl, PHP, SED, AWK ÉS EGYÉB shell szkriptek és shell script nyelvek itt.

Több, UNIX és Linux fórum témák Ön által talált Hasznos
Szál Thread Starter Fórum Válaszok Utolsó hozzászólás
Hogyan lehet létrehozni egy "kill" lista victorcheung A UNIX a fejlett és szakértői Felhasználók 10 05-15-2008 03:04 AM
generál véletlen számot perl zx1106 Shell programozás és Scripting 2 03-18-2008 12:13 AM
Létrehoz egy véletlenszerű jelszó chiru_h Shell programozás és Scripting 5 10-07-2007 09:03 PM
hogy hogyan kell létrehozni a fájlok listájának jasongr Shell programozás és Scripting 3 12-13-2005 08:15 AM
Hogyan lehet létrehozni egy véletlen számot? MacMonster Magas szintű Programozás 2 10-15-2001 01:35 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 05-29-2006
mskcc mskcc is offline
Regisztrált felhasználó
  
 

Join Date: Jul 2005
Hozzászólások: 37
hogyan lehet létrehozni egy véletlenszerű listát egy adott lista

Kedves Mesterek,

Van egy egyszerű módja annak, hogy létrejöjjön a véletlenszerű listát adnak a névjegyzéket? Mondjuk, van egy fájl, 15000 város neve világ (táblázat, nevét az első oszlop), szeretném, véletlenszerűen pick up 50 város minden alkalommal összesen 1000 választás. Vagy nem akárki tud egy programot lehet használni erre a célra?

Köszönöm!
  #2 (permalink)  
Old 05-29-2006
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Helyszín: Ashburn, Virginia
Hozzászólások: 9.122
KSH beépített véletlen szám generátor. A teljesítmény nem látványos, de talán jó a célra. Meg tudná véletlen Főleg 0-32767. Szüksége lesz egy másik tartományban. Ezzel a technikával:
Kód:
#! /usr/bin/ksh

#
# RANDOM is a random number between 0 and 32767 (inclusive)
max_random=32768

#
# We want a random number between 0 and 14 (inclusive)
max_needed=15

i=0
while ((i<7)) ; do
        ((r=RANDOM*max_needed/max_random))
        echo $r
        ((i=i+1))
done

exit 0
Figyelem: ne használja a modulusa működés átalakítására tartományban. A fenti kód segítségével magas érdekében bit a kezdeti véletlenszerű számot, míg a modulusa művelet használatára alacsony bit. Szóval ez generál egy véletlen számot 0 és 14999 között. Akkor majd adjunk hozzá egy-egy számot 1 és 15000 között. Akkor csak használ sed vagy valami letölteni a sorban. (Vagy valami ilyesmi. Van elvesztette a matek ... Nem értem, hogyan picking 50 város ad fejtőkalapácsok 1000. )

De ez azt feltételezi, hogy az OK gombra, hogy kiválassza az lsame sor kétszer a fájl hébe-hóba. Sokszor, hogy pontosan mit akarsz. De egy párszor, nem ismétli meg az OK gombot. Tegyük fel, hogy voltak 52 sorokat a fájl ami a kártyák egy pakli játékkártya. Ha azt szeretnénk, hogy egy véletlen pókert kéz, akkor megszünteti a másolatokat. Ebben az esetben, ha először generál egy számot 1 és 52, és mint korábban, akkor letölteni a kiválasztott vonalra. De akkor is használja sed törölni, hogy a sor így csak 51 sorokat a fájlba. Mert a második kártya, akkor véletlenszerűen generál egy számot 1 és 51 között. És így tovább.
  #3 (permalink)  
Old 05-29-2006
mskcc mskcc is offline
Regisztrált felhasználó
  
 

Join Date: Jul 2005
Hozzászólások: 37
köszönöm

... ez 50 fejtőkalapácsok egy időben, de 1000-szer ismételjük meg, mint újra és újra shaffle Pick és így tovább.
  #4 (permalink)  
Old 05-30-2006
aigles's Avatar
aigles aigles is offline Forum Advisor  
Regisztrált felhasználó
  
 

Join Date: Apr 2004
Helyszín: Bordeaux, Franciaország
Hozzászólások: 1.423
Próbáljon ki valami ilyesmi
Kód:
#! /usr/bin/ksh
#
# Usage: $0 [file [count]]
# 

File=${1}
Count=${2:-10}

while read line
do
   echo "$RANDOM$line"
done < $File     |  \
sort -t -k1,1n  |  \
head -$Count     |  \
cut -d -f2-
Closed Thread

Könyvjelzõk

Téma eszközök Keresés a téma
Keresés a téma:

Részletes keresés
Megjelenítési módok Rate this thread
Rate this thread:

Posting szabályzat
Ön nem post new threads
Ön nem post válaszok
Ön nem post Csatolmányok
Ön nem szerkeszteni az üzeneteidet

BB kód van Be
Smilies vannak Be
[IMG] kód Be
HTML kód Ki
Trackbacks vannak Be
Pingbacks vannak Be
Refbacks vannak Be




Minden idő GMT -4. Az idő most 12:44 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Nyelvre lefordítva Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
A UNIX és Linux Fórum Tartalom Copyright © 1993-2009. Minden jog Reserved.Ad menedzsment RedTyger

Content Relevant URLs by vBSEO 3.2.0