## Arithmetic operation in variable

Arithmetic operation in variable
# 1
09-02-2016
Arithmetic operation in variable

Hi,

Here is the script i try to perform arithmetic operation in two variables .

Output:
Quote:
x has 13326
in loop 13326
y has 17459
in loop 30785
z has 1170
in loop 31955
total is 0
In side the loop, i get correct value of variable TOTAL.
How to get correct TOTAL outside while loop ?
 greet_sed View Public Profile for greet_sed Find all posts by greet_sed
# 2
09-02-2016
This question pops up an awful lot.

When you run shell commands in a pipe, they exist inside a different shell. This shell sums up the value perfectly and quits - leaving you in your original shell where the value was never changed.

Which end of the pipe is 'your' shell can vary from shell to shell. In KSH, you'd have gotten the total; I suspect you're running bash.

There's a few ways to deal with this and make it work in both.

Stuffing the entire program into the subshell with ( ) grouping braces:

Here-doc:

You could also use a temp file.
This User Gave Thanks to Corona688 For This Post:
 Corona688 View Public Profile for Corona688 Visit Corona688's homepage! Find all posts by Corona688
# 3
09-06-2016
Please don't ask technical questions in private messages.

Subshells
 Corona688 View Public Profile for Corona688 Visit Corona688's homepage! Find all posts by Corona688
# 4
09-07-2016
You could also have the loop as:-

Note that space between the two < characters.

I hope that this helps,
Robin

Last edited by rbatte1; 09-07-2016 at 07:04 AM.. Reason: Added note.
 rbatte1 View Public Profile for rbatte1 Visit rbatte1's homepage! Find all posts by rbatte1

Test Your Knowledge in Computers #23
Difficulty: Easy
One Terabyte (1 TB) is equal to 1000 GB.
True or False?

## How to get defined precision after arithmetic operation using syncsort?

I have to do some arithmetic operation on Field 8 which is calculated by Field 9/Field 7 Suppose i have data like : 0800123456|JAN|2017|JAN|2018|0800123456|0|0.0000|0.00| 0800234567|JAN|2017|JAN|2018|0800234567|4|2.5812|10.32| 0800666666|JAN|2017|JAN|2018|0800666666|2|1.7255|3.45|...

## Using awk to do arithmetic operation

Hi, I've this following text file FileVersion = 1.03 Filetype = meteo_on_curvilinear_grid TIME = 0 hours since 2016-10-03 12:00:00 +00:00 -6.855 -6.828 -6.801 -6.774 -6.747 -6.719 -6.691 -6.663 -6.634 -6.606 -6.577 -6.548 -6.519 -6.489 TIME = 0 hours since...

## Basic arithmetic operation with awk?

input: Name|Operation rec_10|1+2+2- Output: rec_10|1 Basically I am trying to calculate the result of "the path" in \$3 where the operators follow the number and not preceding them like we normally do: rec_10: +1+2-2=1 But I realise (I am sure there is a good reason for that) that awk...

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

## Arithmetic operation between columns using loop variable

Hi I have a file with 3 columns. say, infile: 1 50 68 34 3 23 23 4 56 ------- ------- I want to generate n files from this file using a loop so that 1st column in output file is (column1 of infile/(2*n+2.561)) I am doing like this: for ((i=1; i<=3; i++)) do a=`echo...

## Arithmetic operation with awk

I have output like following in a file usmtnz-dinfsi19 72 71 38 1199 1199 0.8 19:23:58 usmtnz-dinfsi19 72 71 38 1199 1199 0.8 19:24:04

## How to perform arithmetic operation on date

Hi all, I would appreciate if anyone knows how to perform adding to date. As for normal date, i can easily plus with any number. But when it comes to month end say for example 28 Jun, i need to perform a plus with number 3, it will not return 1 Jul. Thanks in advance for your help.

## arithmetic operation on two columns

Hi, All, I have a file, its content is as follows: 100 150 120 135 140 170 I want to insert a column, its content is determined by the difference between the two values in the same line, if the difference is less than 20, the new value is 1, otherwise is 0. after the operation, the...

## Help with arithmetic operation

I am using egrep to extract numbers from a file and storing them as variables in a script. But I am not able to do any arithmetic operations on the variables using "expr" because it stores them as char and not integers. Here is my code and the error I get. Any help will be appreciated. #!/bin/sh...

## Simple arithmetic operation

I have no idea why I can't get this to work, if anybody can help i would appreciate it. #!/bin/bash x=`cat counter.txt | wc -l` y= '\$x / 7' printf "%d People have visited this page" \$y :confused: