Sponsored Content
Full Discussion: Average for multiple keys
Top Forums UNIX for Dummies Questions & Answers Average for multiple keys Post 302861333 by Yoda on Tuesday 8th of October 2013 04:05:24 PM
Old 10-08-2013
An awk approach that might work:
Code:
awk '
        {
                for ( i = 1; i <= (NF-2); i++ )
                {
                        T[i" "$(NF-1)" "$NF] += $i
                        N[i" "$(NF-1)" "$NF]++
                        if ( !(R[i" "$(NF-1)" "$NF]) )
                        {
                                ++c
                                R[i" "$(NF-1)" "$NF]  = i" "$(NF-1)" "$NF
                                I[c] = i" "$(NF-1)" "$NF
                                P[c] = $(NF-1)" "$NF
                        }
                }
        }
        END {
                for ( k = 1; k <= c; k++ )
                        printf !(k % 3) ? T[I[k]] / N[I[k]] OFS P[k] RS : T[I[k]] / N[I[k]] OFS

        }
' file

This User Gave Thanks to Yoda For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

sort on multiple keys

Hello, Say I have a file with plain text as shown below. Some columns may have multiple words (like "DESC 1", "DESC 1 2", "DESC 1 2 3"). Let's say the file below has 4 columns: 1st(AA), 2nd(BB), 3rd(DESC 1, ...), 4th(CC 1, ...). 1234567890123456789012345678901234567890 AA BB DESC 1... (1 Reply)
Discussion started by: teqmem
1 Replies

2. Shell Programming and Scripting

Sorting with multiple numeric keys

Data I want to sort :- 1 10 jj Y 2 100 vv B 19 5 jj A 1 11 hq D 3 8 op X 44 78 ds GG 1 8 hq D and want to sort based on the first 2 columns - which hold numeric values. Am using : cat filename | sort -nk 1,2 But the result is :- 1 10 jj Y 1 11 hq D (1 Reply)
Discussion started by: sinpeak
1 Replies

3. UNIX for Dummies Questions & Answers

Joining files based on multiple keys

I need a script (perl or awk..anything is fine) to join 3 files based on three key columns. The no of non-key columns can vary in each file. The columns are delimited by semicolon. For example, File1 Dim1;Dim2;Dim3;Fact1;Fact2;Fact3;Fact4;Fact5 ---- data delimited by semicolon --- ... (1 Reply)
Discussion started by: Sebben
1 Replies

4. Shell Programming and Scripting

Sum a column value based on multiple keys

Hi, I have below as i/p file: 5ABC 36488989 K 000010000ASB BYTRES 5PQR 45757754 K 000200005KPC HGTRET 5ABC 36488989 K 000045000ASB HGTRET 5GTH 36488989 K 000200200ASB BYTRES 5FTU ... (2 Replies)
Discussion started by: nirnkv
2 Replies

5. Shell Programming and Scripting

Sorting problem: Multiple delimiters, multiple keys

Hello If you wanted to sort a .csv file that was filled with lines like this: <Ticker>,<Date as YYYYMMDD>,<Time as H:M:S>,<Volume>,<Corr> (H : , M, S: ) by date, does anybody know of a better solution than to turn the 3rd and 4th colons of every line into commas, sorting on four keys,... (20 Replies)
Discussion started by: Ryan.
20 Replies

6. Shell Programming and Scripting

[SOLVED] Sort on multiple keys

Can you guys pls take a look at this. I need to sort this list of numbers as follows: 2nd col first, then 1st col, then 3rd col, all in reverse (highest to lowest). I'm doing this: sort -k 2,2nr -k 1,1nr -k 3,3gr but, as you see, the 3rd col does not get sorted properly. Any idea... (0 Replies)
Discussion started by: mamboknave
0 Replies

7. UNIX for Dummies Questions & Answers

Sort with multiple keys

Please suggest a sort command to achieve the below task. Thanks. I want to sort a file considering multiple keys. Sort Keys: Field 2, Field4 and Field6 Input file vqrs,16,zzz,1235,eq,T abcd,11,zzz,1234,pq,F abcd,10,zzz,1235,pq,F lqrs,15,zzz,1235,eq,T pqrs,12,zzz,1234,eq,F... (3 Replies)
Discussion started by: pretty1234
3 Replies

8. Shell Programming and Scripting

Perl - multiple keys and merging two files

Hi, I'm not a regular coder but some times I write some basic perl script, hence Perl is bit difficult for me :). I'm merging two files a.txt and b.txt into c.txt: a.txt ------ x001;frtb70;xyz;109 x001;frvt65;sec;239 x003;wqax34;jul;659 x004;yhud43;yhn;760 b.txt ------... (8 Replies)
Discussion started by: Lokesha
8 Replies

9. Shell Programming and Scripting

Find All duplicates based on multiple keys

Hi All, Input.txt 123,ABC,XYZ1,A01,IND,I68,IND,NN 123,ABC,XYZ1,A01,IND,I67,IND,NN 998,SGR,St,R834,scot,R834,scot,NN 985,SGR0399,St,R180,T15,R180,T1,YY 985,SGR0399,St,R180,T15,R180,T1,NN 985,SGR0399,St,R180,T15,R180,T1,NN 2943,SGR?99,St,R68,Scot,R77,Scot,YY... (2 Replies)
Discussion started by: unme
2 Replies

10. UNIX for Beginners Questions & Answers

Calculate average from a given set of keys and values

Hello, I am writing a script which expects as its input a hash with student names as the keys and marks as the values. The script then returns array of average marks for student scored 60-70, 70-80, and over 90. Output expected 50-70 1 70-90 3 over 90 0 The test script so far... (4 Replies)
Discussion started by: nans
4 Replies
MPSMatrixDescriptor(3)					 MetalPerformanceShaders.framework				    MPSMatrixDescriptor(3)

NAME
MPSMatrixDescriptor SYNOPSIS
#import <MPSMatrixTypes.h> Inherits NSObject. Class Methods (__nonnull instancetype) + matrixDescriptorWithDimensions:columns:rowBytes:dataType: (__nonnull instancetype) + matrixDescriptorWithRows:columns:rowBytes:dataType: (__nonnull instancetype) + matrixDescriptorWithRows:columns:matrices:rowBytes:matrixBytes:dataType: (size_t) + rowBytesFromColumns:dataType: (size_t) + rowBytesForColumns:dataType: Properties NSUInteger rows NSUInteger columns NSUInteger matrices MPSDataType dataType NSUInteger rowBytes NSUInteger matrixBytes Detailed Description This depends on Metal.framework A MPSMatrixDescriptor describes the sizes, strides, and data type of a an array of 2-dimensional matrices. All storage is assumed to be in 'matrix-major'. See the description for MPSMatrix for further details. Method Documentation + (__nonnull instancetype) matrixDescriptorWithDimensions: (NSUInteger) rows(NSUInteger) columns(NSUInteger) rowBytes(MPSDataType) dataType Create a MPSMatrixDescriptor with the specified dimensions and data type. Parameters: rows The number of rows of the matrix. columns The number of columns of the matrix. rowBytes The number of bytes between starting elements of consecutive rows. Must be a multiple of the element size. dataType The type of the data to be stored in the matrix. For performance considerations the optimal row stride may not necessarily be equal to the number of columns in the matrix. The MPSMatrix class provides a method which may be used to determine this value, see the rowBytesForColumns API in the MPSMatrix class. The number of matrices described is initialized to 1. + (__nonnull instancetype) matrixDescriptorWithRows: (NSUInteger) rows(NSUInteger) columns(NSUInteger) matrices(NSUInteger) rowBytes(NSUInteger) matrixBytes(MPSDataType) dataType Create a MPSMatrixDescriptor with the specified dimensions and data type. Parameters: rows The number of rows of a single matrix. columns The number of columns of a single matrix. matrices The number of matrices in the MPSMatrix object. rowBytes The number of bytes between starting elements of consecutive rows. Must be a multiple of the element size. matrixBytes The number of bytes between starting elements of consecutive matrices. Must be a multiple of rowBytes. dataType The type of the data to be stored in the matrix. For performance considerations the optimal row stride may not necessarily be equal to the number of columns in the matrix. The MPSMatrix class provides a method which may be used to determine this value, see the rowBytesForColumns API in the MPSMatrix class. + (__nonnull instancetype) matrixDescriptorWithRows: (NSUInteger) rows(NSUInteger) columns(NSUInteger) rowBytes(MPSDataType) dataType + (size_t) rowBytesForColumns: (NSUInteger) columns(MPSDataType) dataType + (size_t) rowBytesFromColumns: (NSUInteger) columns(MPSDataType) dataType Return the recommended row stride, in bytes, for a given number of columns. Parameters: columns The number of columns in the matrix for which the recommended row stride, in bytes, is to be determined. dataType The type of matrix data values. To achieve best performance the optimal stride between rows of a matrix is not necessarily equivalent to the number of columns. This method returns the row stride, in bytes, which gives best performance for a given number of columns. Using this row stride to construct your array is recommended, but not required (provided that the stride used is still large enough to allocate a full row of data). Property Documentation - columns [read], [write], [nonatomic], [assign] The number of columns in a matrix. - dataType [read], [write], [nonatomic], [assign] The type of the data which makes up the values of the matrix. - matrices [read], [nonatomic], [assign] The number of matrices. - matrixBytes [read], [nonatomic], [assign] The stride, in bytes, between corresponding elements of consecutive matrices. Must be a multiple of rowBytes. - rowBytes [read], [write], [nonatomic], [assign] The stride, in bytes, between corresponding elements of consecutive rows. Must be a multiple of the element size. - rows [read], [write], [nonatomic], [assign] The number of rows in a matrix. Author Generated automatically by Doxygen for MetalPerformanceShaders.framework from the source code. Version MetalPerformanceShaders-100 Thu Feb 8 2018 MPSMatrixDescriptor(3)
All times are GMT -4. The time now is 12:48 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy