On the same system, using ksh instead of bash, try:
Code:
#!/bin/ksh
# perfect_square <number>
number=$1
if [ "$number" -eq "$((int(number)))" ] > /dev/null 2>&1
then
if [ "$number" -lt 0 ]
then
echo "Warning! Integer is negative!!!"
echo "Set input integer to the DEMO value of 99..."
number=99
fi
else
echo "Invalid Argument! Set input integer to the DEMO value of 100..."
number=100
fi
root=$((int(number ** .5)))
square=$((root ** 2))
if [ $square -eq $number ]
then
echo "$number is the perfect square of $root..."
exit 0
else
echo "Integer $number is not a perfect square..."
exit 1
fi
PS Timing the script:
Code:
time perfect_square 90000000000
90000000000 is the perfect square of 300000...
real 0m0.00s
user 0m0.00s
sys 0m0.01s
Unfortunately, however, this only works with a 1993 or later version of ksh.
Last edited by Don Cragun; 08-19-2015 at 06:48 PM..
Reason: Adding timing results (11 seconds vs. .01 seconds) and disclaimer.
This User Gave Thanks to Don Cragun For This Post:
Hi All,
I have a file of the following format.
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user... (5 Replies)
Here's my work of testing whether a number input is perfect or not..
echo Enter a number
read no
i=1
ans=0
while
do
if
then
ans='expr $ans + $i'
fi
i='expr $i + 1'
done
if
then
echo $no is perfect
else
echo $no is NOT perfect
fi (12 Replies)
I've got an aix-box somewhere on the network and a PC on my desk. Nothing fancy so far.
The PC is made dual-boot:
- windowsXP with putty & winSCP
or
- slackware 13 with xfce4 installed.
The aix-box runs DB2 v8.2 and I've installed db2top to monitor the database.
db2top is a character... (0 Replies)
Hi All,
I have a text file which looks like this:
computer programming
systems engineering
I want to get rid of these square brackets and also the text that is inside these brackets. So that my final text file looks like this:
computer programming
systems engineering
I am using... (3 Replies)
I want to print only the lines that meet the criteria : "worde:" and "wordo;"
I got this far:
sed -n '/\(*\)\1e:\1o;/p;'
But it doesn't quite work.
Can someone please perfect it and tell me exactly how its a fixed version/what was wrong with mine?
Thanks heaps, (1 Reply)
I have to find last delimiter in each line of a file and store the value after the last '/' in a variable in ksh script...Pls Pls help me:(The file is as shown below:
/opt/apps/cobqa/apps/abadv/bind/advc0007.bnd
/opt/apps/cobqa/apps/abbrio/bind/naac6115.bnd... (5 Replies)
Discussion started by: bhavanabahety
5 Replies
LEARN ABOUT OPENDARWIN
funcolumnlookup
funcolumnlookup(3) SAORD Documentation funcolumnlookup(3)NAME
FunColumnLookup - lookup a Funtools column
SYNOPSIS
#include <funtools.h>
int FunColumnLookup(Fun fun, char *s, int which,
char **name, int *type, int *mode,
int *offset, int *n, int *width)
DESCRIPTION
The FunColumnLookup() routine returns information about a named (or indexed) column. The first argument is the Fun handle associated with
this set of columns. The second argument is the name of the column to look up. If the name argument is NULL, the argument that follows is
the zero-based index into the column array of the column for which information should be returned. The next argument is a pointer to a
char *, which will contain the name of the column. The arguments that follow are the addresses of int values into which the following
information will be returned:
o type: data type of column:
o A: ASCII characters
o B: unsigned 8-bit char
o I: signed 16-bit int
o U: unsigned 16-bit int (not standard FITS)
o J: signed 32-bit int
o V: unsigned 32-bit int (not standard FITS)
o E: 32-bit float
o D: 64-bit float
o mode: bit flag status of column, including:
o COL_ACTIVE 1 is column activated?
o COL_IBUF 2 is column in the raw input data?
o COL_PTR 4 is column a pointer to an array?
o COL_READ 010 is read mode selected?
o COL_WRITE 020 is write mode selected?
o COL_REPLACEME 040 is this column being replaced by user data?
o offset: byte offset in struct
o n: number of elements (i.e. size of vector) in this column
o width: size in bytes of this column
If the named column exists, the routine returns a positive integer, otherwise zero is returned. (The positive integer is the index+1 into
the column array where this column was located.)
If NULL is passed as the return address of one (or more) of these values, no data is passed back for that information. For example:
if( !FunColumnLookup(fun, "phas", 0, NULL NULL, NULL, NULL, &npha, NULL) )
gerror(stderr, "can't find phas column
");
only returns information about the size of the phas vector.
SEE ALSO
See funtools(7) for a list of Funtools help pages
version 1.4.2 January 2, 2008 funcolumnlookup(3)