Have at it. Don't forget - that's meant to be 64-bit code. It might work if you compile t with large-file compile flags/defines, but I'm not sure as I pretty much do nothing but 64-bit code any more.
I did forget to call srand48() to seed the random number generator. FWIW, something like this would work:
On Solaris I usually like this as running something like the above C code over and over in a script can result in sequential runs getting the same "random" sequence when using time() as the seed because the seed value is the same:
I don't recall offhand if Linux has gethrtime() or an equivalent.
I also didn't try to test or even compile that code. There's a good chance I missed include files and put in something utterly brain dead.
And the location of the read isn't technically random because using the % operator means the beginning of the file will have a slightly larger chance of being selected because of the way it causes the full 64-bit random offset to wrap. But unless the file/device is HUGE it won't really matter - even multiple petabytes won't make the difference measurable.
Hi Unix gurus,
I have a file. I need to insert sequential number at the starting of the file. Fields are delimited by "|". I know the starting number.
Example:
File is as follows
|123|4test|test
|121|2test|test
|x12|1test|test
|vd123|5test|test
starting number is : 120
... (7 Replies)
We have to convert a sequential file to a 80 char line sequential file (HP UX platform).The sequential file contains special characters. which after conversion of the file to line sequential are getting coverted into "new line" or "tab" and file is getting distorted. Is there any way to read these... (2 Replies)
So, I've got a ton of files that I want to go through (ie something like 300,000), and they're all labeled sequentially. However I'm not 100% positive that they are all there.
Is there any way of running through a sequence of numbers, checking if the file is in the folder, if not appending it... (2 Replies)
Hi
I am working on a script which needs to scan a sequential file and fetch the row where 2nd column = 'HUB'
Can any one help me with this...
Thanks (1 Reply)
Hi,
I have a task where i need to scan second column of seuential file and fetch first 3 digits of that column
For e.g. FOLLOWING IS THE SAMPLE FOR MY SEQUENTIAL FILE
AU_ID ACCT_NUM CRNCY_CDE
THHSBC001 30045678 THB
THHSBC001 10154267 THB
THHSBC001 ... (2 Replies)
Dear linux experts,
I'd like to ask for your support, I've read some posts in this forum about files comparison but haven't found what I'm looking for. I need to create a sequential script to compare row-by-row one file with 34 similar files but without success so far. This is what I get:
... (2 Replies)
Hi
I have a file sequential way i.e. written in contineous mode and the Record Seperator is AM from which the record is seperated .Now to process I have to make line sequential,and more over record length is not same it varies as per the input address,
AM1234563 John Murray 24 Old streeet old... (5 Replies)
I have a csv flatfile with a few million rows. I need to replace a field (field number is 85) in the file with a sequential number.
As an example, let's assume there are only 4 fields in the file:
A,A,,32
A,A,,27
A,B,,43
C,C,,354
If I wanted to amend the 3rd field in this way my... (2 Replies)
Hi,
I have a directory structure like below
Directoryname create time
d1 12:00
d2 12:05
d3 12:08
I want to read the directories based on timestamp.That is oldest directory must be read first and kick off certain process.
... (7 Replies)
Hello All,
I have two files with me file1.txt and file2.txt
file1.txt has:
333
222
111
file2.txt has
ccc
bbb
aaa
ccc is related to 333 only, bbb is related to 222 only and aaa is related to 111 only.
I have to get the values from each of the file and pass them in the URL... (3 Replies)
Discussion started by: ankur328
3 Replies
LEARN ABOUT REDHAT
random
RANDOM(3) Linux Programmer's Manual RANDOM(3)NAME
random, srandom, initstate, setstate - random number generator.
SYNOPSIS
#include <stdlib.h>
long int random(void);
void srandom(unsigned int seed);
char *initstate(unsigned int seed, char *state, size_t n);
char *setstate(char *state);
DESCRIPTION
The random() function uses a non-linear additive feedback random number generator employing a default table of size 31 long integers to
return successive pseudo-random numbers in the range from 0 to RAND_MAX. The period of this random number generator is very large, approx-
imately 16*((2**31)-1).
The srandom() function sets its argument as the seed for a new sequence of pseudo-random integers to be returned by random(). These
sequences are repeatable by calling srandom() with the same seed value. If no seed value is provided, the random() function is automati-
cally seeded with a value of 1.
The initstate() function allows a state array state to be initialized for use by random(). The size of the state array n is used by init-
state() to decide how sophisticated a random number generator it should use -- the larger the state array, the better the random numbers
will be. seed is the seed for the initialization, which specifies a starting point for the random number sequence, and provides for
restarting at the same point.
The setstate() function changes the state array used by the random() function. The state array state is used for random number generation
until the next call to initstate() or setstate(). state must first have been initialized using initstate() or be the result of a previous
call of setstate().
RETURN VALUE
The random() function returns a value between 0 and RAND_MAX. The srandom() function returns no value. The initstate() and setstate()
functions return a pointer to the previous state array, or NULL on error.
ERRORS
EINVAL A state array of less than 8 bytes was specified to initstate().
NOTES
Current "optimal" values for the size of the state array n are 8, 32, 64, 128, and 256 bytes; other amounts will be rounded down to the
nearest known amount. Using less than 8 bytes will cause an error.
CONFORMING TO
BSD 4.3
SEE ALSO rand(3), srand(3)GNU 2000-08-20 RANDOM(3)