Sponsored Content
Top Forums Shell Programming and Scripting choose random text between constant string.. using awk? Post 302394983 by ironmask2004 on Sunday 14th of February 2010 06:36:47 AM
Old 02-14-2010
try the next code uses rand function

Code:
awk 'BEGIN{ RS="%"  ;srand() } { line[NR] = $0 } END{ print line[randint(NR)] } function randint(n) {return int(n * rand()) + 1}' infile

Or

Code:
awk 'BEGIN{ RS="%\n"  ;srand() } { line[NR] = $0 } END{ print line[int((NR* rand()) + 1)]}'  infile


Last edited by ironmask2004; 02-14-2010 at 07:43 AM..
 

8 More Discussions You Might Find Interesting

1. Programming

'strlen' of a constant string

In a declaration, I have: const char comment_begin = "<!--"; const char comment_end = "-->"; const int comment_begin_len = strlen(comment_begin); const int comment_end_len = strlen(comment_end); When I compile, I get the warnings: emhttpc.c:64: warning: initializer element is not... (10 Replies)
Discussion started by: cleopard
10 Replies

2. Shell Programming and Scripting

How to insert some constant text at beginig of each line within a text file.

Dear Folks :), I am new to UNIX scripting and I do not know how can I insert some text in the first column of a UNIX text file at command promtp. I can do this in vi editor by using this command :g/^/s//BBB_ e,g I have a file named as Test.dat and it containins below text: michal... (4 Replies)
Discussion started by: Muhammad Afzal
4 Replies

3. Shell Programming and Scripting

using awk to extract text between two constant strings

Hi, I have a file from which i need to extract data between two constant strings. The data looks like this : Line 1 SUN> read db @cmpd unit 60 Line 2 Parameter: CMPD -> "C00071" Line 3 Line 4 SUN> generate Line 5 tabint>ERROR: (Variable data) The data i need to extract is... (11 Replies)
Discussion started by: mjoshi
11 Replies

4. Shell Programming and Scripting

Extract text between two specified "constant" texts using awk

Hi All, From the title you may know that this question has been asked several times and I have done lot of Googling on this. I have a Wikipedia dump file in XML format. All the contents are in one XML file i.e. all different topics have been put in one XML file. Now I need to separate them and... (1 Reply)
Discussion started by: shoaibjameel123
1 Replies

5. Shell Programming and Scripting

how to choose random columns

Hello! Can anybody suggest about the fastest way of extracting "n" random columns from a very large file (tab separated) having thousands of columns, where n can be any specified number. Thanks! (10 Replies)
Discussion started by: mira
10 Replies

6. Shell Programming and Scripting

How to solve awk: line 1: runaway string constant error?

Hi All ! I am just trying to print bash variable in awk statement as string here is my script n=1 for file in `ls *.tk |sort -t"-" -k2n,2`; do ak=`(awk 'FNR=='$n'{print $0}' res.dat)` awk '{print "'$ak'",$0}' OFS="\t" $file n=$((n+1)) unset ak doneI am getting following error awk:... (7 Replies)
Discussion started by: Akshay Hegde
7 Replies

7. Programming

String Constant C

I wonder string constant exists permanently or temporary. For example, printf("hello, world"); the function printf access to it is through a pointer. Does it mean storage is allocated for the string constant to exist permanently in memory? :confused: (4 Replies)
Discussion started by: kris26
4 Replies

8. Shell Programming and Scripting

Script that will random choose an IP address

Hi, I need to write a bash script that will random choose and login into these below ip addresses. 192.168.116.130 192.168.116.131 192.168.116.132 192.168.116.133 I'm new into scripting and I need to enhance my logic. Below is what i did ... (4 Replies)
Discussion started by: Milon
4 Replies
RANDOM(9)						   BSD Kernel Developer's Manual						 RANDOM(9)

NAME
arc4rand, arc4random, random, read_random, srandom -- supply pseudo-random numbers SYNOPSIS
#include <sys/libkern.h> void srandom(u_long seed); u_long random(void); void arc4rand(void *ptr, u_int length, int reseed); u_int32_t arc4random(void); #include <sys/random.h> int read_random(void *buffer, int count); DESCRIPTION
The random() function will by default produce a sequence of numbers that can be duplicated by calling srandom() with '1' as the seed. The srandom() function may be called with any arbitrary seed value to get slightly more unpredictable numbers. It is important to remember that the random() function is entirely predictable, and is therefore not of use where knowledge of the sequence of numbers may be of benefit to an attacker. The arc4rand() function will return very good quality random numbers, slightly better suited for security-related purposes. The random num- bers from arc4rand() are seeded from the entropy device if it is available. Automatic reseeds happen after a certain timeinterval and after a certain number of bytes have been delivered. A forced reseed can be forced by passing a non-zero value in the reseed argument. The read_random() function is used to return entropy directly from the entropy device if it has been loaded. If the entropy device is not loaded, then the buffer is filled with output generated by random(). The buffer is filled with no more than count bytes. It is advised that read_random() is not used; instead use arc4rand() All the bits generated by random(), arc4rand() and read_random() are usable. For example, 'random()&01' will produce a random binary value. The arc4random() is a convenience function which calls arc4rand() to return a 32 bit pseudo-random integer. RETURN VALUES
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 (2**31)-1. The period of this random number generator is very large, approxi- mately 16*((2**31)-1). The arc4rand() function uses the RC4 algorithm to generate successive pseudo-random bytes. The arc4random() function uses arc4rand() to gen- erate pseudo-random numbers in the range from 0 to (2**32)-1. The read_random() function returns the number of bytes placed in buffer. AUTHORS
Dan Moschuk wrote arc4random(). Mark R V Murray wrote read_random(). BSD
September 25, 2000 BSD
All times are GMT -4. The time now is 05:20 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy