Visit Our UNIX and Linux User Community


Arithmetic operation with awk


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Arithmetic operation with awk
# 1  
Old 12-03-2009
Arithmetic operation with awk

I have output like following in a file

Code:
usmtnz-dinfsi19
72
71
38
1199
1199
0.8
19:23:58
usmtnz-dinfsi19
72
71
38
1199
1199
0.8
19:24:04
usmtnz-dinfsi19

I want to divide 5 & 6 line entries with 1000 .. how can i do it with awk
# 2  
Old 12-03-2009
Code:
awk 'NR == 5 || NR == 6 { print $1 / 1000 }' filename

# 3  
Old 12-03-2009
Thanks but it only displays line 5 and 6 i want all the lines and line 5 and 6 divided by 1000 and line 7 subtracted from 100 :-)
# 4  
Old 12-03-2009
Quote:
Originally Posted by fugitive
Thanks but it only displays line 5 and 6 i want all the lines and line 5 and 6 divided by 1000 and line 7 subtracted from 100 :-)

Code:
awk 'NR == 5 || NR == 6 { $1 = $1 / 1000 }
     NR == 7 { $1 = 100 - $1 }
     { print }
' filename

# 5  
Old 12-03-2009
Ok that one worked Thanks again Smilie but the file on which i 'm running this has n no. of entries like following

And we want this should go on 5,6,7 lines of all the resources
Code:
usmtnz-dinfsi19
72
71
38
1.199
1.199
99.2
19:23:58
usmtnz-dinfsi19
72
71
38
1199    <--
1199    <--
0.8      <--
19:24:04
usmtnz-dinfsi19
72
71
38
1199    <--
1199    <--
0.8      <--
19:24:11

# 6  
Old 12-03-2009

How do you expect to get a real answer if you keep changing the question?

To change the script to do what you want, modify the selectors.

Just describing the problem accurately will give you a hint as to what you should do.
# 7  
Old 12-03-2009
Ok i apologize for it. but i was thinking the answer you gave will solve my problem, which it didn't , anywayz thanks for all the help. It will be great if you can answer my last question.

Previous Thread | Next Thread
Test Your Knowledge in Computers #470
Difficulty: Medium
As of December 2018 the NTP pool consisted of around 7,700 active time servers on IPv4.
True or False?

10 More Discussions You Might Find Interesting

1. How to Post in the The UNIX and Linux Forums

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|... (0 Replies)
Discussion started by: pumrao
0 Replies

2. Shell Programming and Scripting

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... (2 Replies)
Discussion started by: xisan
2 Replies

3. Shell Programming and Scripting

Arithmetic operation in variable

Hi, Here is the script i try to perform arithmetic operation in two variables . git branch -r | while read brname ; do REV_COMMITS=`git rev-list --count $brname` echo "$brname has $REV_COMMITS" (( TOTAL = TOTAL + REV_COMMITS )) echo "in loop" $TOTAL done echo "total is " $TOTAL ... (3 Replies)
Discussion started by: greet_sed
3 Replies

4. UNIX for Dummies Questions & Answers

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... (7 Replies)
Discussion started by: beca123456
7 Replies

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

6. Shell Programming and Scripting

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... (3 Replies)
Discussion started by: Surabhi_so_mh
3 Replies

7. Shell Programming and Scripting

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. (4 Replies)
Discussion started by: agathaeleanor
4 Replies

8. UNIX for Dummies Questions & Answers

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... (1 Reply)
Discussion started by: Jenny.palmy
1 Replies

9. Shell Programming and Scripting

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... (3 Replies)
Discussion started by: emjayshaikh
3 Replies

10. Shell Programming and Scripting

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: (2 Replies)
Discussion started by: paladyn_2002
2 Replies

Featured Tech Videos