Generate random number from the range 0.0 to 0.1, or generate random integers from a defined range. Define output column name at a= parameter.
This command uses Mersenne twister (developed in 1937) as pseudo random number generator. (Webpage of author , boost library).
 mrand [k=] a= [max=] [min=] [S=] [-int] [i=] [o=] [-nfn] [-nfno] [-q] [--help] [--version]
   k=   Same random number is generated for same key value at the specified key field.  a=   New column name. [However, this parameter is not required when -nfn,-nfno option is specified] max=   Maximum value of random number [default value: INT_MAX]  Integer up to 0\UTF{FF5E}2^32 [21 billion] ).   -int must be specified with this parameter.  min=   Minimum value of random number [default=0].   Integer up to 0\UTF{FF5E}2^32 [21 billion]).   -int must be specified with this parameter.  S=   Random seed [default value: current time]  The same random seed generates the same random number   When S= is not specified, the default setting of random seed is set to the current time.   Random seed value can be specified between -2147483648〜2147483647.  -int   Generate random integers.
  
    
     
    
     
    
     
    
       
    
    
    
       
    
    
    
     
    
       
    
    
    
       
    
    
    
     
    
       
    
    
    
       
    
    
    
       
    
    
    
     
Generate random real numbers between 0.0 to 1.0.
$ more dat1.csv Customer A B C D E $ mrand a=rand i=dat1.csv o=rsl1.csv #END# kgrand a=rand i=dat1.csv o=rsl1.csv $ more rsl1.csv Customer,rand A,0.6892393918 B,0.1042782064 C,0.07767942664 D,0.6829032891 E,0.9111980933
Generate random integers with -int.
$ mrand a=rand -int i=dat1.csv o=rsl2.csv #END# kgrand -int a=rand i=dat1.csv o=rsl2.csv $ more rsl2.csv Customer,rand A,646494551 B,1824612880 C,1125031143 D,741644395 E,532560940
Generate a random number with a minimum value of 10 and maximum value of 100. Add the random numbers to a new column named rand.
$ mrand a=rand -int min=10 max=100 S=1 i=dat1.csv o=rsl3.csv #END# kgrand -int S=1 a=rand i=dat1.csv max=100 min=10 o=rsl3.csv $ more rsl3.csv Customer,rand A,47 B,100 C,75 D,94 E,10
Given 4 customers A,B,C,D, same random number is generated for same customer.
$ more dat2.csv Customer A A A B B C D D D $ mrand k=Customer -int min=0 max=1 a=rand i=dat2.csv o=rsl4.csv #END# kgrand -int a=rand i=dat2.csv k=Customer max=1 min=0 o=rsl4.csv $ more rsl4.csv Customer%0,rand A,0 A,0 A,0 B,0 B,0 C,0 D,0 D,0 D,0
mselrand : Select a random record.
mnewrand : Generate new random dataset without using input file.