Sponsored Content
Top Forums Shell Programming and Scripting add and subtract specific row using awk Post 302622631 by dixits on Thursday 12th of April 2012 11:22:00 AM
Old 04-12-2012
add and subtract specific row using awk

Hi Folks
I have tried awk command to conditionally add or subtract value from specific row in a file. The test file looks like:

Code:
# cat test.txt
cont x y
Max 0.3 0.9
Min 0.2 0.9
diff 0.1 0

Code:
# awk '{for (i=2; i <=NF; i++) if ($i== "0") $i=$i+0.2; print}' test.txt

Output:
Code:
cont x y
Max 0.3 0.9
Min 0.2 0.9
diff 0.1 0.2

Desired Ouput:
Code:
cont x y
Max 0.5 1.1
Min 0.1 0.7
diff 0.4 0.4

That is when the diff is 0.1, than add the same column but first row (Max) by 0.2 and subtract same column but second row by 0.1, but when the diff is 0, than add the same column but first row value (Max) by 0.2 and subtract same column but second row by 0.2. AT the end the difference should be 0.4.
Any help will be great.

Last edited by zaxxon; 04-12-2012 at 12:26 PM.. Reason: adding some more code tags
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Add row, awk, sed ?

I wrote script in bash which generates this report: phrase1;phrase2;phrase3;phrase4;phrase5;phrase6;phrase7;phrase8 phrase9;phrase2;phrase10;phrase4;phrase11;phrase12;phrase13;phrase14 phrase15;phrase16;phrase17;phrase18;phrase19;phrase20;phrase21;phrase22 ... I would like add name only... (3 Replies)
Discussion started by: patrykxes
3 Replies

2. Shell Programming and Scripting

Insert a text from a specific row into a specific column using SED or AWK

Hi, I am having trouble converting a text file. I have been working for this whole day now, still i couldn't make it. Here is how the text file looks: _______________________________________________________ DEVICE STATUS INFORMATION FOR LOCATION 1: OPER STATES: Disabled E:Enabled ... (5 Replies)
Discussion started by: Issemael
5 Replies

3. UNIX for Dummies Questions & Answers

return a specific row using awk

Hello, I am using awk to process a file, and need to return a row that meets specific criteria. awk 'BEGIN{sets variables} {processes file, updates variables} END{need to print a row that meets the criteria in one of the variables} I have tried code in the END block like {print NR==var}... (1 Reply)
Discussion started by: badPuppy
1 Replies

4. Shell Programming and Scripting

awk print specific columns one row at a time

Hello, I have the following piece of code: roleName =`cat $inputFile | awk -F';' '{ print $1 }'` roleDescription =`cat $inputFile | awk -F';' '{ print $2 }'` roleAuthProfile =`cat $inputFile | awk -F';' '{ print $3 }'` mappedUserID (5 Replies)
Discussion started by: pr0tocoldan
5 Replies

5. Shell Programming and Scripting

awk - remove row if specific field is empty/blank

I have this text.filecharles darwin sam delight george washington johnson culper darwin sam delight micheal jackson penny lite and would like to remove the row, if the first field is blank. so the result would be: result.filecharles darwin sam ... (4 Replies)
Discussion started by: charles33
4 Replies

6. UNIX for Dummies Questions & Answers

awk: convert column to row in a specific way

Hi all! I have this kind of output: a1|b1|c1|d1|e1 a2|b2|c2 a3|b3|c3|d3 I would like to transpose columns d and e (when they exist) in column c, and under the row where they come from. Then copying the beginning of the row. In order to obtain: a1|b1|c1 a1|b1|d1 a1|b1|e1 a2|b2|c2... (1 Reply)
Discussion started by: lucasvs
1 Replies

7. Shell Programming and Scripting

Print unique names in each row of a specific column using awk

Is it possible to remove redundant names in the 4th column? input cqWE 100 200 singapore;singapore AZO 300 400 brazil;america;germany;ireland;germany .... .... output cqWE 100 200 singapore AZO 300 400 brazil;america;germany;ireland (4 Replies)
Discussion started by: quincyjones
4 Replies

8. UNIX for Dummies Questions & Answers

awk to add/subtract an integer to/from each entry in columns?

---------- Post updated at 01:58 PM ---------- Previous update was at 01:48 PM ---------- For some reason my question is not getting printed. Here are the details: Greetings. I would like to add/subtact an integer to/from two columns of integers. I feel like this should be easy using awk... (3 Replies)
Discussion started by: Twinklefingers
3 Replies

9. Shell Programming and Scripting

awk to update specific value in file with match and add +1 to specific digit

I am trying to use awk to match the NM_ in file with $1 of id which is tab-delimited. The NM_ will always be in the line of file that starts with > and be after the second _. When there is a match between each NM_ and id, then the value of $2 in id is substituted or used to update the NM_. Each NM_... (3 Replies)
Discussion started by: cmccabe
3 Replies

10. Shell Programming and Scripting

Using awk to change a specific column and in a specific row

I am trying to change the number in bold to 2400 01,000300032,193631306,190619,0640,1,80,,2/ 02,193631306,000300032,1,190618,0640,CAD,2/ I'm not sure if sed or awk is the answer. I was going to use sed and do a character count up to that point, but that column directly before 0640 might... (8 Replies)
Discussion started by: juggernautjoee
8 Replies
pnmarith(1)                                                   General Commands Manual                                                  pnmarith(1)

NAME
pnmarith - perform arithmetic on two portable anymaps SYNOPSIS
pnmarith -add|-subtract|-multiply|-difference|-minimum|-maximum. pnmfile1 pnmfile2 DESCRIPTION
Reads two portable anymaps as input. Performs the specified arithmetic operation, and produces a portable anymap as output. The two input anymaps must be the same width and height. The arithmetic is performed between corresponding pixels in the two anymaps, as if maxval was 1.0, black was 0.0, and a linear scale in between. Results that fall outside of [0..1) are truncated. The operator -difference calculates the absolute value of pnmarith -subtract pnmfile1 pnmfile2, i.e. no truncation is done. All flags can be abbreviated to their shortest unique prefix. SEE ALSO
pbmmask(1), pnmpaste(1), pnminvert(1), pnm(5) AUTHOR
Copyright (C) 1989, 1991 by Jef Poskanzer. Lightly modified by Marcel Wijkstra <wijkstra@fwi.uva.nl> 26 August 1993 pnmarith(1)
All times are GMT -4. The time now is 02:05 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy