Generating random numbers

Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Generating random numbers
# 1  
Old 08-05-2009
Generating random numbers


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:

23 30 26 28 29
24 40 24 28 38
26 34 28 30 31

where the last 3 columns are random numbers. Is this possible?

# 2  
Old 08-06-2009
use $RANDOM and appropriate MOD function.
# 3  
Old 08-06-2009

does the $RANDOM function work for awk?
# 4  
Old 08-06-2009
Use -v construct of awk, to read the shell variable into awk processing
# 5  
Old 08-06-2009

Please try the below if you are looking for solution in Perl,

my ($start, $end) = split(/\s/,$_);
my $arr = [$start..$end];
push (my @result,$start,$end);
push(@result, $arr->[rand(scalar(@$arr))]);
print "@result\n";
23 30
24 40
26 34
# 6  
Old 08-06-2009
you can play around with this awk code.
r=int(((rand() *(1+MAX-MIN))+MIN));

# 7  
Old 08-06-2009
# or bash
cat file | while read a b
        echo -n "$a $b"
        ((n=RANDOM % max + a))
        echo -n " $n"
        ((n=RANDOM % max + a))
        echo -n " $n"
        ((n=RANDOM % max + a))
        echo " $n"

You can use shell services also in awk like - not so good as use rand. Shell using = lot of overheading:
     # define cmd
     cmd="echo $RANDOM"
     cmd | getline  random
     # close pipe

Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Generating a POSIX random number?

Hi Guys and gals... As you know I am getting to grips with POSIX and hit this stumbling block. Generating two random numbers 0 to 255 POSIXly. Speed in not important hence the 'sleep 1' command. I have done a demo that works, but it sure is ugly! Is there a better way? #!/bin/sh # Random... (12 Replies)
Discussion started by: wisecracker
12 Replies

2. Shell Programming and Scripting

Generating a Random String of 'n' length

Hi, How can I generate a string of random characters (alpha+numeric) of a particular length ? For e.g. for n=5, output = 'kasjf' n=10, output = 'hedbcd902k' Also, please let me know if random (valid) dates could also be generated. Thanks (7 Replies)
Discussion started by: rishigc
7 Replies

3. Shell Programming and Scripting

Random number generating script?

Having a hard time with this. Very new to scripting and linux. Spent all sunday trying to do this. Appreciate some help and maybe help breaking down what the syntax does. Create a Bash program. It should have the following properties • Creates a secret number between 1 and 100 i. The... (3 Replies)
Discussion started by: LINUXnoob15
3 Replies

4. Shell Programming and Scripting

Generating Random Number in certain range

Hi there I am trying to generate a random number between 40 and 70 using the shell here is my code so far and it keeps going above 70. all help much appreciated! comp=$(( RANDOM%70+40 )) echo $comp (4 Replies)
Discussion started by: faintingquiche
4 Replies

5. UNIX for Dummies Questions & Answers

Generating 512MB file with dd using random data

Hello. Could anyone help me with my little annoying problem? I have to generate a 512 MB file made up with random data using DD. After some internet digging I found out that the command is: dd if=/dev/urandom of=/exemple/file bs=512MB After running this command the... (2 Replies)
Discussion started by: razolo13
2 Replies

6. Shell Programming and Scripting

Generating Gaussian Distributed Random Numbers

I want to generate an awk function that generated a Gaussian distributed set of random numbers. I need to implement the thing below in awk. Rnd is just a uniform random number between 0 and 1 function rgaussian(r1, r2) { Do v1 = 2 * Rnd - 1 v2 = 2 * Rnd - 1 ... (0 Replies)
Discussion started by: kristinu
0 Replies

7. Programming

C Help; generating a random number.

Im new to C, and Im having a hard time getting a random number. In bash, I would do something similar to the following to get a random number; #!/bin/bash seed1=$RANDOM seed2=$RANDOM seed3=$RANDOM SEED=`expr $seed1 * $seed2 / $seed3` echo ${SEED%.*} Now, in online examples... (4 Replies)
Discussion started by: trey85stang
4 Replies

8. Programming

generating 16 digit random number in C

Hi, How can we generate 16 digit random nos in C. (10 Replies)
Discussion started by: ajaysahoo
10 Replies

9. Shell Programming and Scripting

generating random numbers with hamming distance 4

Hi I want to genrate 10 random 32 bit binary numbers with hamming distance 4 and 8. 11010110010101010101010101010101 11010110010101010100010101010010 if we look carefully at these two binary numbers they differ at 4 places hence hamming distance 4. Now I want to genrate these numbers... (2 Replies)
Discussion started by: hack_tom
2 Replies
Login or Register to Ask a Question