Add new column which is subtract of 2 columns.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Add new column which is subtract of 2 columns.
# 1  
Old 02-28-2014
Add new column which is subtract of 2 columns.

Hi below is a file

Code:
Date	         Category	        Time	        Attempts	Success
2/17/2014	 PayFlow ATB	0.999988	4039104	4039057
2/18/2014	 PayFlow ATB	0.999912	4620964	4620558
2/19/2014	 PayFlow ATB	0.999991	4380836	4380796
2/20/2014	 PayFlow ATB	0.999988	5031047	5030985
2/21/2014	 PayFlow ATB	0.999842	4408205	4407510
2/22/2014	 PayFlow ATB	0.999991	3228407	3228377
2/23/2014	 PayFlow ATB	0.999938	3392795	3392585

My desired output is to add a new column called failure
Failure = Attempts-Success

Need a unix command to have a new file with this 6th column also...
Plz do help
# 2  
Old 02-28-2014
Code:
awk '{ print $0, (NR > 1) ? $5+$6 : "Failure" }' inputfile

# 3  
Old 02-28-2014
Quote:
Originally Posted by hergp
Code:
awk '{ print $0, (NR > 1) ? $5+$6 : "Failure" }' inputfile

Small adaptions to hergp's proposal, as TAB seems to be the separator, and the difference is requested:
Code:
awk '{ print $0 "\t" (NR > 1) ? $5-$6 : "Failure" }' inputfile

This User Gave Thanks to RudiC For This Post:
# 4  
Old 02-28-2014
Hello,

Following may also help for same.

Code:
awk 'NR==1 {print "Failure"} NR > 1 {{a=$5-$6} {print a}}'  file_name

EDIT: One more solution for same.

Code:
awk 'NR==1 {print "Failure"} NR > 1 {{a=$(NF-1)-$(NF)} {print a}}'  file_name

Output will be as follows.

Code:
Failure
47
406
40
62
695
30
210

NOTE: For taking the output in a new file please use > redirection operator for same.


Thanks,
R. Singh

Last edited by RavinderSingh13; 02-28-2014 at 12:22 PM.. Reason: Adding one more solution
# 5  
Old 02-28-2014
Code:
awk '
        NR == 1 {
                $0 = $0 OFS "Failure"
        }
        NR > 1 {
                $( NF + 1 ) = $5 - $6
        }
        1
' OFS='\t' file

# 6  
Old 03-04-2014
Thanks a lot for all members who helped. Its working now. Thanks again.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk add all columns if column 1 name matches

Hi - I want to add all columns if column1 name matches. TOPIC1 5 1 4 TOPIC2 3 2 1 TOPIC3 7 2 5 TOPIC1 6 3 3 TOPIC2 4 1 3 TOPIC3 9 5 4 . . . . . . . . . . . . Result should look like TOPIC1 11 4 7 TOPIC2 7 3 4 (1 Reply)
Discussion started by: oraclermanpt
1 Replies

2. Shell Programming and Scripting

Help to subtract columns from 2 files and output to new file

Hi, I have 2 files in below formats File1_Stored.txt ABC:100, 83 ABC:84, 53 ABC:14, 1222And File2_Stored.txt ABC:100 , 83 ABC:84 , 1553 ABC:524 , 2626I am trying to get the 3rd file in below format. So, whenever difference is 0 it shouldn't appear but if the difference is not 0 then... (2 Replies)
Discussion started by: Abhayman
2 Replies

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

4. Shell Programming and Scripting

Add values in 2 columns and subtract from third

Hi All, I have a file with thousands of lines in the following format, where Field1=First 8 characters Field2-9-16 characters Field3=17-26 characters I need to add Field 1 and Field2 and subtract the result from Field 3. Field3=Field3 - (Field1 + Field2) 0012.00 0010.00 0001576.53... (4 Replies)
Discussion started by: nua7
4 Replies

5. Shell Programming and Scripting

Add the values in second and third columns with group by on first column.

Hi All, I have a pipe seperated file. I need to add the values in second and third columns with group by on first column. MYFILE_28012012_1115|47|173.90 MYFILE_28012012_1115|4|0.00 MYFILE_28012012_1115|6|22.20 MYFILE_28012012_1116|47|173.90 MYFILE_28012012_1116|4|0.00... (3 Replies)
Discussion started by: angshuman
3 Replies

6. Shell Programming and Scripting

Help need to subtract the data from 2 columns

space_used.lst /dev/vx/dsk/A06487-S01-c4e3s-ORACLE-dg/oradata01 505G 318G 175G 65% /dborafiles/nethealth21/PV/oradata01 /dev/vx/dsk/A06487-S01-c4e3s-ORACLE-dg/oradata02 505G 433G 67G 87% /dborafiles/nethealth21/PV/oradata02 /dev/vx/dsk/A06487-S01-c4e3s-ORACLE-dg/oradata03 507G 422G 79G 85%... (4 Replies)
Discussion started by: sathik
4 Replies

7. Shell Programming and Scripting

Count Columns and If less add new column

Hi All, My Input.txt should have always 4 columns in some cases i may not get all the 4columns data. My requirement is if columns as not equal to 4 then append new column delimiter. Input.txt A,1,2 B,1,2,3 C,1 Desired output should be in below format Output.txt A,1,2,... (3 Replies)
Discussion started by: kmsekhar
3 Replies

8. Shell Programming and Scripting

How to subtract a number from all columns?

Hi, I want to subtract a number from all columns except the first column. I have a number of files each having different columns around 60/70. How to do that in awk or any other command? Thanks Input Col 1 Col 2 Col3 - - - - Col55 1 .0123 .098 - - - 0.6728 2 - -... (3 Replies)
Discussion started by: Surabhi_so_mh
3 Replies

9. Shell Programming and Scripting

Need help to subtract columns from 2 files and output to new file

Hi, I need some help figuring this out, I think it can be done using awk but I don't know how. So, I want to take two input files, subtract some columns with each other and then output to a new results file. InFile1.txt AAA 100 200 BBB CCC 300 400 DDD InFile2.txt AAA 50 60 BBB CCC 70... (7 Replies)
Discussion started by: MrTrigger
7 Replies

10. Shell Programming and Scripting

AWK solution to subtract multiple columns of numbers

Hope somebody is happy. NR==1 { num_columns=split( $0, menuend ); next; } { split( $0, substrend ); for ( i=1; i<=NF; i++ ) { minuend -= substrend; } } END { print "Result:"; for ( i=1; i<=num_columns; i++ ) { printf(... (3 Replies)
Discussion started by: awkward
3 Replies
Login or Register to Ask a Question