How to use absolute function?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to use absolute function?
# 1  
Old 02-23-2017
How to use absolute function?

Hello All,

I am using following awk command in my shell script. I want to compare the value in column 2 and colum 3 after taking their absolute value. Column $2 and $3 can have any value positive or negative or both.

Code:
awk -F"|" '{print $0,($2>$3?"F":"T")}' OFS='|' myfile.txt

Your help is appreciated.

Thanks
Angshuman
# 2  
Old 02-23-2017
adopt to your needs...
Code:
function abs(v){
  return sqrt(v^2)
}

# 3  
Old 02-23-2017
If myfile.txt contains:
Code:
1|1|1
1|-1|1
1|1|-1
1|-1|-1
1|2|3
1|-2|3
1|2|-3
1|-2|-3
1|5|4
1|-5|4
1|5|-4
1|-5|-4

and we change your script to use a more common definition of an absolute value function:
Code:
awk -F'|' '
function absolute(arg) {
	return (arg < 0) ? -arg : arg
}
{	print $0, (absolute($2) > absolute($3)) ? "F" : "T"
}' OFS='|'  myfile.txt

the output we get from running the script is:
Code:
1|1|1|T
1|-1|1|T
1|1|-1|T
1|-1|-1|T
1|2|3|T
1|-2|3|T
1|2|-3|T
1|-2|-3|T
1|5|4|F
1|-5|4|F
1|5|-4|F
1|-5|-4|F

The added field in this case is F if the absolute value of field 2 is greater than the absolute value of field 3; otherwise it is T.
This User Gave Thanks to Don Cragun For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Absolute value function

None know if exists a function/command that get the absolute value for a number? Thanks:) (14 Replies)
Discussion started by: Steph85
14 Replies

2. Shell Programming and Scripting

Sort by absolute value

Hi, I have a file as follows: |-30.0|Appls. executing in db manager currently = 2 |-80.0|Locks held currently = 1 | 90.0|High water mark (bytes) = 65536 |-50.0|Configured size (bytes) = 16777216 |-100.0|Current size (bytes) ... (6 Replies)
Discussion started by: sudvishw
6 Replies

3. Shell Programming and Scripting

absolute sum

Hi, i want to caluculate sum and absolute sum information of the 2nd column. sum(abs(ENO)),sum(ENO) file1 contains the employee information. "abc","+10000.00","100" "bbc","-3000.00","400" "cbc","+20000.90","500" "dbc","-4000.00","600" output should get this Sum(abs(eno)) ... (5 Replies)
Discussion started by: onesuri
5 Replies

4. UNIX for Dummies Questions & Answers

absolute value

is there any function in unix which will convert a integer to absolute value with a single decimal point. suppose x=15232 y=x/1024=14.875 i want y to be 14.8 Similarly if y=6.29452 it should come as 6.3 (3 Replies)
Discussion started by: dr46014
3 Replies

5. Shell Programming and Scripting

Absolute value

Is there a function in awk to get the absolute value of a-b which can be negative or positive, I just care for the absolute value... (5 Replies)
Discussion started by: placroix1
5 Replies

6. UNIX for Dummies Questions & Answers

absolute path

is cd ~ considered an absolute path? (2 Replies)
Discussion started by: Kirichiko
2 Replies

7. Shell Programming and Scripting

get absolute filename

How would I get the absolute filename of a selected file...I want to control click...I already have the context menu all set to run a script...I just need to be able to get the file name of the file I control clicked on. In windows it is as follows: set filename=%~f1 set name=%~n1 set... (0 Replies)
Discussion started by: mainegate
0 Replies

8. Programming

absolute path

How to find out the absolute path of a file in C/C++? Thanks (4 Replies)
Discussion started by: filedeliver
4 Replies

9. UNIX for Dummies Questions & Answers

Getting absolute value ksh

Hi, I am trying to find out how to get an absolute value for integer in ksh. I tried using abs... but that doesn't work ! this is the workaround I did, but isn't there an inbuilt function to get absolute value for any variable ! Please help as i am new to unix :confused: Thanks, ... (3 Replies)
Discussion started by: icyhot
3 Replies
Login or Register to Ask a Question