Sponsored Content
Top Forums Shell Programming and Scripting BC calculation for floating (invalid arithmetic operator ) Post 302976496 by alvintiow on Wednesday 29th of June 2016 10:13:02 PM
Old 06-29-2016
Hi Don,

Apology for the confuse, the line different due to I remove the 3 lines 'echo', I did not notice it.

I tried your code works fine in Solaris and SUSE! Your code is so neat Smilie
May I know what is the meaning for below coding?
Code:
warn_level=$((1.03 * (str2 < str3 ? str2 : str3)))


I found my logic mistake and changed as below yesterday (divide result from 1min CPU LOAD with 5mins and 15mins, if it is less than 1.03 (3%) then it is normal, if more than 1.03 (3) then is warning, if more than 1.05 (5%) it is critical.).

1 min load 3% < 5mins and 15mins is normal
1 min load 3% > 5mins or 15mins is warning
1 min load 5% > 5mins or 15mins is critical

Code:
#!/bin/ksh
str1=`uptime | awk '{print $10}'| sed 's/,//'`
str2=`uptime | awk '{print $11}'| sed 's/,//'`
str3=`uptime | awk '{print $12}'| sed 's/,//'`
 warn_level=$(( 1.03 ))
crit_level=$(( 1.05 ))
 if [[ $str1/$str2 -gt $crit_level || $str1/$str3 -gt $crit_level ]]; then
        status=2
        statustxt="CPU load is critical - $str1"
 elif [[ $str1/$str2 -gt $warn_level || $str1/$str3 -gt $warn_level ]]; then
        status=1
        statustxt="CPU load is Warning - $str1"
else
        status=0
        statustxt="CPU load is normal, no spike - $str1"
fi
 echo "$status CPULOAD_spike  PERFDATA=$str1 $statustxt"

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Arithmetic in floating point

is it not possible to simply di aritmetic without using bc or awk i have tried folllowing operatrions but they support only integer types plz suggest me code for floating using values stored in the variables.the ans i get is integer and if i input floating values i get error numeric constant... (6 Replies)
Discussion started by: sumit the cool
6 Replies

2. Shell Programming and Scripting

Arithmetic calculation on real numbers in Bourne Shell Script

I am begining to learn bourne shell and as a practice I have written a script which when given the purchase price and percentage of discount calculates the savings. I somehow cannot figure out why my script fails to do arthimatic calculation on real numbers. Could anyone look at the script... (5 Replies)
Discussion started by: Tirmazi
5 Replies

3. UNIX for Dummies Questions & Answers

syntax error: invalid arithmetic operator

hi, i have a bash script that i want to receive a a string from another bash file. But because the string has a dot in the middle it gives me an error. The error is in this line: let valor=$1 and the value passed is rules.txt the error is: let: valor=rules.txt: syntax error: invalid... (2 Replies)
Discussion started by: limadario
2 Replies

4. Shell Programming and Scripting

checking variables + arithmetic operator help

i'm trying to make a script to simply add numbers together for example i have a file script file called add add 1 2 3 4 5 15 however i want the user to put at least 3 numbers so i did this if then echo "please enter more than two numbers" exit 1 fi but it's telling me i have... (3 Replies)
Discussion started by: el3ctr0nic47
3 Replies

5. Programming

arithmetic calculation using awk

hi there again, i need to do a simple division with my data with a number of rows. i think i wanted to have a simple output like this one: col1 col2 col3 val1 val2 val1/val2 valn valm valn/valm any suggestion is very much appreciated. thanks much. (2 Replies)
Discussion started by: ida1215
2 Replies

6. Shell Programming and Scripting

floating point arithmetic operation error

I am writing a script in zsh shell, it fetchs a number from a file using the awk command, store it as a variable, which in my case is a small number 0.62000. I want to change this number by multiplying it by 1000 to become 620.0 using the command in the script var2=$((var1*1000)) trouble is... (2 Replies)
Discussion started by: piynik
2 Replies

7. Shell Programming and Scripting

Arithmetic calculation in variable

Hi, I am trying to do an addition to a value stored in a variable... var1=`grep -n "match" sample.txt|cut -d : -f1` var2=`echo $var1|cut -d " " -f1` (Here i want add +1 to the output value) (4 Replies)
Discussion started by: Kevin Tivoli
4 Replies

8. UNIX for Dummies Questions & Answers

Invalid arithmetic operator

Hi experts, I'm facing trouble with the below bash script, any help is appreciated #!/usr/bin/bash .. if (( "${date1}" > "${l_date1}" )) then echo "success" else echo "nothing" fi the variable date1 contains 08/06/2013 and l_date1 contains 10/08/2013 this small script to... (6 Replies)
Discussion started by: parpaa
6 Replies

9. UNIX for Beginners Questions & Answers

Invalid arithmetic operator on string concatenation

Hello. LEAP_VERSION="4.2" export ARRAY_MAIN_REPO_LEAP=('zypper_local' 'openSUSE-Leap-'"$LEAP_VERSION"'-Non-Oss' 'openSUSE-Leap-'"$LEAP_VERSION"'-Oss' 'openSUSE-Leap-'"$LEAP_VERSION"'-Update' 'openSUSE-Leap-'"$LEAP_VERSION"'-Update-Non-Oss')Seems that the - is interpreted as a numeric... (2 Replies)
Discussion started by: jcdole
2 Replies

10. OS X (Apple)

Gobsmacked by ksh93 floating point arithmetic.

Hi guys... I am working on limited basic set of maths routines for ksh93 that can be sourced as . ./ksh_math.sh and I am gobsmacked by its capabilities. Although some big guns may already know this, I didn't, and ksh93 is easily able to do floating point numbers to floating point powers and... (16 Replies)
Discussion started by: wisecracker
16 Replies
LEVENSHTEIN(3)								 1							    LEVENSHTEIN(3)

levenshtein - Calculate Levenshtein distance between two strings

SYNOPSIS
int levenshtein (string $str1, string $str2) DESCRIPTION
int levenshtein (string $str1, string $str2, int $cost_ins, int $cost_rep, int $cost_del) The Levenshtein distance is defined as the minimal number of characters you have to replace, insert or delete to transform $str1 into $str2. The complexity of the algorithm is O(m*n), where n and m are the length of $str1 and $str2 (rather good when compared to simi- lar_text(3), which is O(max(n,m)**3), but still expensive). In its simplest form the function will take only the two strings as parameter and will calculate just the number of insert, replace and delete operations needed to transform $str1 into $str2. A second variant will take three additional parameters that define the cost of insert, replace and delete operations. This is more general and adaptive than variant one, but not as efficient. PARAMETERS
o $str1 - One of the strings being evaluated for Levenshtein distance. o $str2 - One of the strings being evaluated for Levenshtein distance. o $cost_ins - Defines the cost of insertion. o $cost_rep - Defines the cost of replacement. o $cost_del - Defines the cost of deletion. RETURN VALUES
This function returns the Levenshtein-Distance between the two argument strings or -1, if one of the argument strings is longer than the limit of 255 characters. EXAMPLES
Example #1 levenshtein(3) example <?php // input misspelled word $input = 'carrrot'; // array of words to check against $words = array('apple','pineapple','banana','orange', 'radish','carrot','pea','bean','potato'); // no shortest distance found, yet $shortest = -1; // loop through words to find the closest foreach ($words as $word) { // calculate the distance between the input word, // and the current word $lev = levenshtein($input, $word); // check for an exact match if ($lev == 0) { // closest word is this one (exact match) $closest = $word; $shortest = 0; // break out of the loop; we've found an exact match break; } // if this distance is less than the next found shortest // distance, OR if a next shortest word has not yet been found if ($lev <= $shortest || $shortest < 0) { // set the closest match, and shortest distance $closest = $word; $shortest = $lev; } } echo "Input word: $input "; if ($shortest == 0) { echo "Exact match found: $closest "; } else { echo "Did you mean: $closest? "; } ?> The above example will output: Input word: carrrot Did you mean: carrot? SEE ALSO
soundex(3), similar_text(3), metaphone(3). PHP Documentation Group LEVENSHTEIN(3)
All times are GMT -4. The time now is 09:03 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy