Visit Our UNIX and Linux User Community


UNIX script for making random numbers without repetition


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users UNIX script for making random numbers without repetition
# 8  
Old 09-02-2013
OK my mistake, try this:

Code:
awk '
{ V[NR]=$1 }
END {
  srand()
  for(i=1;i<=1440;) {
    v=V[int(1+rand()*7200)]
    if (!(v in N)) {
       N[v]
       print v
       i++
    }
  }
}' random.txt

or even:
Code:
sort random.txt | uniq | shuf | head -1440

This User Gave Thanks to Chubler_XL For This Post:
# 9  
Old 09-03-2013
Maybe this one:
Code:
 awk ' {T[NR]=$1} END {srand(); for (i=1; i<=1440; i++) print T[int(1+rand()*NR)]}' file

# 10  
Old 09-03-2013
Nice Rudic, but the requirement was to pick 1440 numbers randomly without any reputation
# 11  
Old 09-03-2013
Rats! Should have read the entire thread. Sorry for that...
# 12  
Old 09-03-2013
Quote:
Originally Posted by sajmar
I think my question was not very clear. I have a file which has one column with 7200 line and want to select 1440 lines ( %20 of the line) randomly without the duplication number between the 1440 numbers.
If you just want 1440 random lines, try
Code:
shuf < inputfile | head -n 1440

# 13  
Old 09-03-2013
Good point Corona688, I'd assumed the random file could contain duplicate entries (that being the nature of random data) and these were to be removed hence my sort and uniq code in post #8.

Your solution is optimal if sajmar doesn't require detection/avoidance of any duplicate values that may occur in the inputfile.
# 14  
Old 09-14-2013
The shuf command will not work for me. could any one give me an awk command for select randomly 1440 out of 7200 numbers which is in one column?

Previous Thread | Next Thread
Test Your Knowledge in Computers #889
Difficulty: Easy
In sed, the REGEX caret (^) matches the end of the line.
True or False?

9 More Discussions You Might Find Interesting

1. Homework & Coursework Questions

Random numbers

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! Write a shell script that will take the sum of two random number? Ex: Random n1 +Random n2 = result i tries to write it but i had some dufficulties ... (3 Replies)
Discussion started by: renegade755
3 Replies

2. Shell Programming and Scripting

Generate random numbers in script

i want to generate a random number through a script, and even if anyone reads the script, they wont be able to figure out what the random number is. only the person who setup the script would know it. something like this could work: random the full thread is here: ... (13 Replies)
Discussion started by: SkySmart
13 Replies

3. UNIX for Dummies Questions & Answers

Syntax Help | unix | grep | regular expression | repetition

Hello, This is my first post so, Hello World! Anyways, I'm learning how to use unix and its quickly become apparent that a strong foundation in regular expressions will make things easier. I'm not sure if my syntax is messing things up or my logic is messing things up. ps -e | grep... (4 Replies)
Discussion started by: MykC
4 Replies

4. Shell Programming and Scripting

Generating random numbers

Hi, I am having trouble with generating random numbers. can this be done with awk? So I have a file that looks like this: 23 30 24 40 26 34 So column1 is start and column2 is end. I want to generate 3 random #'s between start and stop: So the output will look like this: ... (9 Replies)
Discussion started by: phil_heath
9 Replies

5. Shell Programming and Scripting

Random Numbers - Perl

Hi Guys I have a script to find Ranomd numbers. But I want to make the file to produce more random. Could u guys help me plz. In this Script I have the code that generates random in for loop and the range I have specified in my %chromlength input and out put will be like this chrno start end... (3 Replies)
Discussion started by: repinementer
3 Replies

6. Shell Programming and Scripting

Random numbers from 0 to 1000

Hello All, I want to make a simple script which generate random number from 0 to 1000. and simply display it. Plz HELP!!!!!! Regards, Waqas Ahmed (2 Replies)
Discussion started by: wakhan
2 Replies

7. UNIX for Dummies Questions & Answers

Making UNIX script executable

Hello, I am very new to UNIX and I have been learning about writing scripts and making them executable. I created a script called myscript. It has three lines: #! /bin/sh # This is my first shell script echo friendsjustfriends Now I try to run it using the sh command and it works Next I... (4 Replies)
Discussion started by: rohitx
4 Replies

8. Programming

How to set constrain on random numbers in c

Hi, I am currently trying to generate multiple random numbers in C for different variable:- die1=1+(rand()%5); die2=1+(rand()%5); die3=1+(rand()%5); die4=1+(rand()%5); But I need to contrain the total of die1, die2,die3 and die4 to be 5 as well. If i insert die1+die2+die3+die4=5, i do... (6 Replies)
Discussion started by: ahjiefreak
6 Replies

9. UNIX for Dummies Questions & Answers

Random numbers without repetition

Is anyone know some scripts to generate random number without repetition using bash; for example generate 10 different random numbers. Thanks (8 Replies)
Discussion started by: asal_email
8 Replies

Featured Tech Videos