Sponsored Content
Top Forums Shell Programming and Scripting add coloum value based on first coloum Post 302317485 by aaysa123 on Tuesday 19th of May 2009 05:38:13 AM
Old 05-19-2009
add coloum value based on first coloum

Hi i have a file and i want to add the coloum values
like
9067 is coming twice here so o/p willbe like
9067,sum of 3rd coloum,sum of 4th coloum
9015 is coming 0nce then o/p
9015,15,6

sum is happening based on first coloum it will add all the third coloum and 4th coloum value where first coloum matches

a.txt
9067,AE,11,2
9061,AA,12,3
9003,AB,13,4
9067,AA,14,5
9015,AA,15,6
9061,AD,16,7

o/p
9067,25,8
9061,28,10
9003,13,4
9015,15,6

i am using nawk -F "," '{ a[$1]++ ; sum[$1] += $3 } END { for (k in sum) print k "," sum[k] "," a[k]}' a.txt
but is is giving o/p
9003,13,1
9015,15,1
9061,28,2
9067,25,2

pls let me know the correct code
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

how to insert new coloum

Dear friends, I have a dataset like this 2.18 66.86 27.9 2.18 66.86 27.9 2.18 66.86 27.9 2.15 66.88 27.9 2.15 66.88 27.9 Now i have another dataset containing date coloum like this 22-12-2005 22-12-2005 22-12-2005 22-12-2005 22-12-2005 Now i want to... (3 Replies)
Discussion started by: rajan_ka1
3 Replies

2. Shell Programming and Scripting

parse coloum in a file

I have a file like the format 000002371627240000023716272455577818030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001099001099425%00109925%IPY 2007013120070227Y99991231N YYX SRT0001010125%0000503318882HANDH800 R... (3 Replies)
Discussion started by: vaskarbasak
3 Replies

3. Shell Programming and Scripting

compare 2 coloum of 2 diff files using perl script

Hi, i am new to perl scripting.. i am still learing it.. i am asked to write a perl script which should compare 2 coloums of 2 different files. if those 2 coloumn are same the script should store the both the lines in 2 diff files. these are files, file 1: 21767016 226112 char 19136520... (3 Replies)
Discussion started by: vasuki
3 Replies

4. Shell Programming and Scripting

add numbers to the output based on +/-

Add 35 to the 3rd col (12000) in input if it is "+" and it will be 12035 in output. Some thing like awk '{if ($3==+) print $2,$3,$3+35,$1 else print $2,$3-35,$3,$1}' + abc1 12000 - abc2 10000 + xyz1 11111 - vbcx 20036 + xy_z 33333 output abc1 ... (2 Replies)
Discussion started by: ruby_sgp
2 Replies

5. Shell Programming and Scripting

How to add columns based on a pattern using awk?

Hi, I have a file with more than 1000 lines with ~14 columns. I need to find all the lines with matching value in column 14 and then add column 6 in all the lines before printing them out.. e.g if this is the input file: abc test input 10 for process 2345 abc test input 15 for process 2348... (1 Reply)
Discussion started by: xkdasari
1 Replies

6. UNIX for Dummies Questions & Answers

Add 1 column based on name of files

Hi all, I already transferred list of files from ftp server with files name end with $Y$m$d Example my files data_20140101.xls data_20140102.xls data-20140103.xls and content of each files, for example data_20140101.xls USA|16846481|8871374|534909|0|0|0|700|5351981|0|31605445... (6 Replies)
Discussion started by: radius
6 Replies

7. UNIX for Beginners Questions & Answers

Add New Column Based on Files Name

Dear Sir, I need to add new column (last column) based on files name. my files name 20170809_target_tdc_pmx4.xls 20170809_target_tdc_pmx5.xls 20170809_target_tdc_pmx6.xls for example file : 20170809_target_tdc_pmx4.xls Item code Quantity Unit price Serial number... (1 Reply)
Discussion started by: radius
1 Replies

8. Shell Programming and Scripting

Add new column based in condition

At begining of column 2 the same block (2000) have 3 lines, in the next block (2336) it have 9 lines and for block (2524) 3 lines. ... (0 Replies)
Discussion started by: jiam912
0 Replies

9. UNIX for Beginners Questions & Answers

awk to add +1 to value based on condition in input

In the awk below I am trying to add a | that will adjust $2 in the ouput by adding +1 if the original value from file that was used in $3 had a - in it. Line 3 of file is an example of this. In my current awk I just subtract one but I am not sure how to only apply this to those values without a -.... (5 Replies)
Discussion started by: cmccabe
5 Replies

10. Shell Programming and Scripting

Add user based on file

The script it should add all the users from this file "users.txt" All users should have the login shell as /sbin/nologin. When this script is called with any other argument, it should print the message as “Input File Not Found”ť. When this script is run without any argument, it should display... (1 Reply)
Discussion started by: invinzin21
1 Replies
Sum(3pm)						  LogReport's Lire Documentation						  Sum(3pm)

NAME
Lire::Sum - Lire class that implements the sum operator SYNOPSIS
use Lire::Sum DESCRIPTION
Class that implements the sum operator. This operator will compute the field's sum in a group of DLF records. It's possible to compute a weighted sum in which each value is first multiplied by the value of another DLF field. Its also possible to express the count as a ratio of the total count for the group or table. METHODS
new( %params ) Creates a new Lire::Count object. In addition to the values supported by its parents, the weight and ratio attributes will be initialized to the values specified in the %params argument. weight( [$new_weight] ) Returns the DLF field's name by which the values will be multiplied before being summed. You can change the weight field by specifying a new name as the $new_weight parameter. Use undef to remove the use of a weighting field. ratio([$new_ratio]) Returns how the sum will be expressed. This can one of three possible values: none Default. The absolute sum will be used. group The sum will be expressed as a percentage of the group's sum. table The sum will be expressed as a percentage of the table's total sum. SEE ALSO
zLire::ReportSpec(3pm), Lire::ReportOperator(3pm), Lire::Aggregator(3pm), Lire::Aggregate(3pm). AUTHOR
Francis J. Lacoste <flacoste@logreport.org> VERSION
$Id: Sum.pm,v 1.17 2008/03/09 19:27:31 vanbaal Exp $ COPYRIGHT
Copyright (C) 2001, 2002 Stichting LogReport Foundation LogReport@LogReport.org This file is part of Lire. Lire is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program (see COPYING); if not, check with http://www.gnu.org/copyleft/gpl.html. Lire 2.1.1 2008-03-09 Sum(3pm)
All times are GMT -4. The time now is 09:23 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy