Sponsored Content
Full Discussion: Random float numbers in BASH
Top Forums Shell Programming and Scripting Random float numbers in BASH Post 302508300 by pharaoh on Sunday 27th of March 2011 05:44:42 PM
Old 03-27-2011
Random float numbers in BASH

Hi people Smilie

I'm learning shell scripting using bash and I want to generate 4 floating point number with 5 decimal places and write them to a file and a variable. I've done all this except the $RAMDOM enviroment variable does not generate a float number but a integrer.

I hope you could explain why to lead me to a solution.
Thnak you all in advance.

PS: script so far
Code:
#!/bin/bash

#: Title		: randomFloats
#: Date			: 2011-03-27
#: Author		: pharaoh
#: Version		: 1.0 
#: Discription	        : Generate a 4 float numbers with 5 decimal places and write them to a file and a variable 


listFloats=0.0
for i in $(seq 0 3)
do
    aux=$[($RANDOM % 15000)]
	printf -v aux "%.5f" ${aux}
	
	#In the first iteration it just set the variable, in the others it append
	if [ ${i} -eq 0 ]
	then
		listFloats=${aux}
		printf ${aux} > randomFloats.txt
	else 
		listFloats="${listFloats} ${aux}"
		printf ${aux} >> randomFloats.txt
	fi
done

printf "%s\n" ${listFloats}

 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

adding float numbers

how to add 2 float values to each other? i tried this and it doesnt work: #!bin/bash numone=1.234 numtwo=0.124 total=`expr $numone + $numtwo` echo $total thanks (5 Replies)
Discussion started by: strike
5 Replies

2. Solaris

i cannot assign float point numbers to an array in solaris

total=0 declare -a sum limit=`iostat -En | grep -i size | awk '{print $2}' | sed -e 's/GB//g' | wc -l` echo "Limit is equal to $limit" ara="`iostat -En | grep -i size | awk '{print $2}' | sed -e 's/GB//g'`" for (( i=1; i<=$limit; i++ )) do sum=`echo $ara | cut -d " " -f $i` echo ${sum}... (11 Replies)
Discussion started by: naree
11 Replies

3. Solaris

can array store float point numbers

Hi all, I have doubt can array in a shell script can store floating point numbers. i have tired. but i unable to work it out. Please help me regarding this Thank U Naree (1 Reply)
Discussion started by: naree
1 Replies

4. 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

5. Programming

comparison between float numbers

Hi, i have a simple control like this: if(sum>1.0)... If i try to print sum i get 1.000000 but the check returns true. I think it depends on float precision. How can i modify the check? thanks (1 Reply)
Discussion started by: littleboyblu
1 Replies

6. 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

7. 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

8. Shell Programming and Scripting

Arithmetic on a Float in bash

I am using bash I have a script that takes a number, i.e. 85.152, which is always a non integer and essentially tries to get that number to be a multiple of 10. My code is as follows: number=85.152 A=${number%.*} #Converts float to integer typeset -i B=$(((A-20)/10)) #subtracting 20 is... (12 Replies)
Discussion started by: prodigious8
12 Replies

9. Shell Programming and Scripting

Help about using variables of float numbers in sed

Hi, I need to run a Fortran program which reads a input file with a fixed name many times, each time I need to change a number (real) in that input file, this is how I currently do it and I know it is not elegent at all: cp inputfile.dat backup.dat sed -i 's/28.0/0.01/g' inputfile.dat ./myCode... (3 Replies)
Discussion started by: dypang
3 Replies
staux(3)						     Library Functions Manual							  staux(3)

NAME
staux - Routines that provide scalar interfaces to auxiliaries SYNOPSIS
#include <syms.h> long st_auxbtadd(bt) long bt; long st_auxbtsize(iaux,width) long iaux; long width; long st_auxisymadd (isym) long isym; long st_auxrndxadd (rfd,index) long rfd; long index; long st_auxrndxadd (idn) long idn; void st_addtq (iaux,tq) long iaux; long tq; long st_tqhigh_aux(iaux) long iaux; void st_shifttq (iaux, tq) int iaux; int tq; long st_iaux_copyty (ifd, psym) long ifd; pSYMR psym; void st_changeaux (iaux, aux) long iaux; AUXU aux; void st_changeauxrndx (iaux, rfd, index) long iaux; long rfd; long index; DESCRIPTION
Auxiliary entries are unions with a fixed length of four bytes per entry. Much information is packed within the auxiliaries. Rather than have the compiler front-ends handle each type of auxiliary entry directly, the following set of routines provide a high-level scalar inter- face to the auxiliaries: Adds a type information record (TIR) to the auxiliaries. It sets the basic type (bt) to the argument and all other fields to zero. The index to this auxiliary entry is returned. Sets the bit in the TIR, pointed to by the iaux argument. This argu- ment says the basic type is a bit field and adds an auxiliary with its width in bits. Adds an index into the symbol table (or any other scalar) to the auxiliaries. It sets the value to the argument that will occupy all four bytes. The index to this auxiliary entry is returned. Adds a relative index, RNDXR, to the auxiliaries. It sets the rfd and index to their respective arguments. The index to this auxiliary entry is returned. Works the same as st_auxrndxadd except that RNDXR is referenced by an index into the dense number table. Copies the type from the specified file (ifd) for the specified symbol into the auxiliary table for the current file. It returns the index to the new aux. Shifts in the specified type qualifier, tq, into the auxiliary entry TIR, which is specified by the `iaux' index into the current file. The current type qualifiers shift up one tq so that the first tq (tq0) is free for the new entry. Adds a type qualifier in the highest or most significant non-tqNil type qualifier. Returns the most significant type qualifier given an index into the files aux table. Changes the iauxth aux in the current file's auxiliary table to aux. Converts the relative index (RNDXR) auxiliary, which is spec- ified by iaux, to the specified arguments. RESTRICTIONS
The interface will added to incrementally, as needed. RELATED INFORMATION
stfd(3) delim off staux(3)
All times are GMT -4. The time now is 07:05 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy