Sponsored Content
Top Forums Shell Programming and Scripting Awk: Summing values with group criteria Post 302368740 by Scrutinizer on Thursday 5th of November 2009 12:58:00 PM
Old 11-05-2009
Code:
awk -F';' '{A[$2$3]=$1FS$2FS$3FS$4;B[$2$3]+=$5} END{for (i in A) printf "%s%.0f\n",A[i]FS,B[i]}' infile |sort -nt';'

Code:
444;100041;IT;GLOB;1800000000
444;100041;TM;GLOB;1000000000
444;10300264;IT;GLOB;4500000000

-or-
Code:
awk -F';' '{B[$2$3]+=$5;$5="";A[$2$3]=$0} END{for (i in A) printf "%s%.0f\n",A[i],B[i]}' infile |sort -n|tr ' ' ';'


Last edited by Scrutinizer; 11-05-2009 at 02:06 PM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

summing values of a column

I have a file which contains data as below: ----------------------------------------------------------------------------------------------- GSPWeb Statistics for the period of last 20 days... (3 Replies)
Discussion started by: mohsin.quazi
3 Replies

2. Shell Programming and Scripting

summing up iostat values in AIX

Friends, I have to run iostat -d on my AIX machine and print the sum of the output in tps column per iteration. can any one pls guide me how to do this using awk. here is the sample output iostat -d 2 2 | awk '!/System/ && !/Disks/ && !/cd/ && !/^$/ {print $4}' 2.0 3.0 1.0 3.0... (1 Reply)
Discussion started by: achak01
1 Replies

3. Shell Programming and Scripting

Summing values in columns

Basically I have to process a text file which has been sorted this way: John 12 John 13 John 10 John 900 Peter 20 Peter 30 Peter 32 The first column is a name, and the second an arbitrary value, both delimited by a space. How can I sum them up such that it would become: John 935... (2 Replies)
Discussion started by: Dwee
2 Replies

4. Shell Programming and Scripting

Cat Values from Several files if it meets criteria for column values

I have results from some statistical analyses. The format of the results are as given below: I want to select lines that have a p-value (last column) less than 0.05 from all the results files (*.results) and cat to a new results file. It would be very nice if a new column is added that tells... (2 Replies)
Discussion started by: genehunter
2 Replies

5. Shell Programming and Scripting

reading a script and summing some values

I need help reading and summing some values in a file that looks like the following. This is an Oracle trace file. Oracle has as utility to do this,but it doesn't work properly unless my sql statement is done. I want to read the file and sum up some values to let me know how the query/job is... (0 Replies)
Discussion started by: guessingo
0 Replies

6. Shell Programming and Scripting

Summing columns over group of lines

I have an input file that looks like: ID1 V1 ID2 V2 P1 P2 P3 P4 ..... n no. of columns 1 1 1 1 1.0000 1.0000 1.0000 1.0000 1 1 1 2 0.9999 0.8888 0.7777 0.6666 1 2 1 1 0.8888 0.7777 0.6666 0.5555 1 2 1 2 0.7777 0.6666 0.5555 0.4444 2 1 1 1 0.6666 0.5555 0.4444 0.3333 2 1 1 2 0.5555 0.4444... (4 Replies)
Discussion started by: sdp
4 Replies

7. Shell Programming and Scripting

Summing up values of rows of numbers

data file contains failed=24 error=23 error=163 failed=36 error=903 i need to get a total count of each value above. i'm looking for the most efficient method to do this as the datafile i provided is just a sample. the actual data can be several hundred thousands of lines. so from... (3 Replies)
Discussion started by: SkySmart
3 Replies

8. Shell Programming and Scripting

Summing per group in a loop

I want to sum and average all other columns by first column GR1 1 4 7 GR1 2 5 8 GR1 3 6 9 GR2 11 14 17 GR2 13 16 19 GR3 1 3 5 GR3 2 4 6 For a limited number of columns I can do... (2 Replies)
Discussion started by: jianp83
2 Replies

9. Shell Programming and Scripting

Only print specific xml values that meet two criteria in python

I have a large XML file that I want to parse, and only print one specific value if two values are met. This is the code so far: #!/usr/local/bin/python import xml.etree.ElementTree as ET tree = ET.parse('onedb-dhcp.xml') root = tree.getroot() # This successfully gets all... (1 Reply)
Discussion started by: brianjb
1 Replies

10. UNIX for Beginners Questions & Answers

Replace Stub Values In One Group Of Files With Actual Values From Another Group Of Files

I have two directories of files (new-config-files and old-config-files): new-config-files/this-db/config.inc.php new-config-files/that-db/config.inc.php new-config-files/old-db/config.inc.php new-config-files/new-db/config.inc.php new-config-files/random-database/config.inc.php etc. ... (4 Replies)
Discussion started by: spacegoose
4 Replies
GLOB(3) 								 1								   GLOB(3)

glob - Find pathnames matching a pattern

SYNOPSIS
array glob (string $pattern, [int $flags]) DESCRIPTION
The glob(3) function searches for all the pathnames matching $pattern according to the rules used by the libc glob() function, which is similar to the rules used by common shells. PARAMETERS
o $pattern - The pattern. No tilde expansion or parameter substitution is done. o $flags - Valid flags: o GLOB_MARK - Adds a slash to each directory returned o GLOB_NOSORT - Return files as they appear in the directory (no sorting). When this flag is not used, the pathnames are sorted alphabetically o GLOB_NOCHECK - Return the search pattern if no files matching it were found o GLOB_NOESCAPE - Backslashes do not quote metacharacters o GLOB_BRACE - Expands {a,b,c} to match 'a', 'b', or 'c' o GLOB_ONLYDIR - Return only directory entries which match the pattern o GLOB_ERR - Stop on read errors (like unreadable directories), by default errors are ignored. RETURN VALUES
Returns an array containing the matched files/directories, an empty array if no file matched or FALSE on error. Note On some systems it is impossible to distinguish between empty match and an error. CHANGELOG
+--------+--------------------+ |Version | | | | | | | Description | | | | +--------+--------------------+ | 5.1.0 | | | | | | | | | | GLOB_ERR was added | | | | +--------+--------------------+ EXAMPLES
Example #1 Convenient way how glob(3) can replace opendir(3) and friends. <?php foreach (glob("*.txt") as $filename) { echo "$filename size " . filesize($filename) . " "; } ?> The above example will output something similar to: funclist.txt size 44686 funcsummary.txt size 267625 quickref.txt size 137820 NOTES
Note This function will not work on remote files as the file to be examined must be accessible via the server's filesystem. Note This function isn't available on some systems (e.g. old Sun OS). Note The GLOB_BRACE flag is not available on some non GNU systems, like Solaris. SEE ALSO
opendir(3), readdir(3), closedir(3), fnmatch(3). PHP Documentation Group GLOB(3)
All times are GMT -4. The time now is 06:44 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy