Sponsored Content
Full Discussion: sort on multiple keys
Top Forums UNIX for Advanced & Expert Users sort on multiple keys Post 302114188 by teqmem on Friday 13th of April 2007 01:05:47 AM
Old 04-13-2007
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, ...).

Code:
1234567890123456789012345678901234567890
AA  BB   DESC 1 2 3          CC 1 2 2
AA  BB   DESC 1 2            CC 1 2
AA  BB   DESC 1              CC 1

I'd like to use the UNIX sort utility to sort based on these orders: 4th, 3rd, 2nd, then 1st.

How would I construct the key parameters (-k) to the sort utility?

Thank you.
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Sort on two keys

Hello, I am trying to sort a text file by two keys but the second key should be reversed. I have tried -nt '|' -k 4 -rk 5 but it just sorts reversed on key 4. Does anyone have any suggestions ? Thanks (8 Replies)
Discussion started by: clarcombe
8 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. UNIX for Dummies Questions & Answers

Average for multiple keys

Hi, I want to find row-wise average of multiple columns based on 2 columns. I have 30k values in the matrix with 94 cols. Example Input for cols 4 and 5 as keys 1 2 3 a 1 4 5 6 a 1 4 2 0 a 1 1 2 3 b 2 5 6 7 b 2 9 7 5 b 2 Output 3 3 3 a 1 5 5 5 b 2Here is what I have tried,... (5 Replies)
Discussion started by: ritakadm
5 Replies

10. 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
PSLARED2D(l)						   LAPACK routine (version 1.5) 					      PSLARED2D(l)

NAME
PSLARED2D - redistribute a 1D array It assumes that the input array, BYROW, is distributed across columns and that all process rows con- tain the same copy of BYROW SYNOPSIS
SUBROUTINE PSLARED2D( N, IA, JA, DESC, BYROW, BYALL, WORK, LWORK ) INTEGER IA, JA, LWORK, N INTEGER DESC( * ) REAL BYALL( * ), BYROW( * ), WORK( LWORK ) PURPOSE
PSLARED2D redistributes a 1D array and will contain the entire array. Notes ===== Each global data object is described by an associated description vector. This vector stores the information required to establish the mapping between an object element and its corresponding process and memory location. Let A be a generic term for any 2D block cyclicly distributed array. Such a global array has an associated description vector DESCA. In the following comments, the character _ should be read as "of the global array". NOTATION STORED IN EXPLANATION --------------- -------------- -------------------------------------- DTYPE_A(global) DESCA( DTYPE_ )The descriptor type. In this case, DTYPE_A = 1. CTXT_A (global) DESCA( CTXT_ ) The BLACS context handle, indicating the BLACS process grid A is distribu- ted over. The context itself is glo- bal, but the handle (the integer value) may vary. M_A (global) DESCA( M_ ) The number of rows in the global array A. N_A (global) DESCA( N_ ) The number of columns in the global array A. MB_A (global) DESCA( MB_ ) The blocking factor used to distribute the rows of the array. NB_A (global) DESCA( NB_ ) The blocking factor used to distribute the columns of the array. RSRC_A (global) DESCA( RSRC_ ) The process row over which the first row of the array A is distributed. CSRC_A (global) DESCA( CSRC_ ) The process column over which the first column of the array A is distributed. LLD_A (local) DESCA( LLD_ ) The leading dimension of the local array. LLD_A >= MAX(1,LOCr(M_A)). Let K be the number of rows or columns of a distributed matrix, and assume that its process grid has dimension p x q. LOCr( K ) denotes the number of elements of K that a process would receive if K were distributed over the p processes of its process col- umn. Similarly, LOCc( K ) denotes the number of elements of K that a process would receive if K were distributed over the q processes of its process row. The values of LOCr() and LOCc() may be determined via a call to the ScaLAPACK tool function, NUMROC: LOCr( M ) = NUMROC( M, MB_A, MYROW, RSRC_A, NPROW ), LOCc( N ) = NUMROC( N, NB_A, MYCOL, CSRC_A, NPCOL ). An upper bound for these quantities may be computed by: LOCr( M ) <= ceil( ceil(M/MB_A)/NPROW )*MB_A LOCc( N ) <= ceil( ceil(N/NB_A)/NPCOL )*NB_A ARGUMENTS
NP = Number of local rows in BYROW() N (global input) INTEGER The number of elements to be redistributed. N >= 0. IA (global input) INTEGER IA must be equal to 1 JA (global input) INTEGER JA must be equal to 1 DESC (global/local input) INTEGER Array of dimension DLEN_ A 2D array descriptor, which describes BYROW BYROW (local input) distributed block cyclic REAL array global dimension (N), local dimension NP BYCOL is distributed across the process columns All process rows are assumed to contain the same value BYALL (global output) REAL global dimension( N ) local dimension (N) BYALL is exactly duplicated on all processes It contains the same values as BYCOL, but it is replicated across all processes rather than being distributed BYALL(i) = BYCOL( NUMROC(i,NB,MYROW,0,NPROW ) on the procs whose MYROW == mod((i-1)/NB,NPROW) WORK (local workspace) REAL dimension (LWORK) Used to hold the buffers sent from one process to another LWORK (local input) INTEGER size of WORK array LWORK >= LWORK >= NUMROC(N, DESC( NB_ ), 0, 0, NPCOL) LAPACK version 1.5 12 May 1997 PSLARED2D(l)
All times are GMT -4. The time now is 04:16 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy