Sponsored Content
Top Forums Shell Programming and Scripting Rearrange fields of delimited text file Post 303003155 by RudiC on Friday 8th of September 2017 06:33:32 AM
Old 09-08-2017
Quote:
Originally Posted by andy2000
@rdrtx1: your solution doesn't work with more than 2 rows Smilie

a_13;a_2;a_1;a_10
13;2;1;10
23,22,11,100

---------- Post updated at 05:13 AM ---------- Previous update was at 05:10 AM ----------

Sorry, all your solution doesn't work with more than 3 rows:

a_13;a_2;a_1;a_10
13;2;1;10
23,22,11,100
...

Smilie

Moderator's Comments:
Mod Comment DON'T edit the post after people were referring to it!



Methinks you better be utmost careful with your assertions and first check on your side. Any evidence that "solution doesn't work with more than 3 rows" on data compliant with the sample in post#1?

Last edited by RudiC; 09-09-2017 at 06:46 AM.. Reason: Quoted OP's original post after s/he twice edited his/her errors away despite request NOT to do so.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Sort the fields in a comma delimited file

Hi, I have a comma delimited file. I want to sort the fields alphabetically and again store them in a comma delimited file. For example, My file looks like this. abc,aaa,xyz,xxx,def pqr,ggg,eee,iii,qqq zyx,lmo,pqr,abc,fff and I want my output to look like this, all fields sorted... (3 Replies)
Discussion started by: swethapatil
3 Replies

2. Shell Programming and Scripting

awk sed cut? to rearrange random number of fields into 3 fields

I'm working on formatting some attendance data to meet a vendors requirements to upload to their system. With some help on the forums here, I have the data close. But they've since changed what they want. The vendor wants me to submit three fields to them. Field 1 is the studentid field,... (4 Replies)
Discussion started by: axo959
4 Replies

3. Shell Programming and Scripting

Large pipe delimited file that I need to add CR/LF every n fields

I have a large flat file with variable length fields that are pipe delimited. The file has no new line or CR/LF characters to indicate a new record. I need to parse the file and after some number of fields, I need to insert a CR/LF to start the next record. Input file ... (2 Replies)
Discussion started by: clintrpeterson
2 Replies

4. Shell Programming and Scripting

Rearrange the text file

Gents, I have a large file and each line of the file contains more than 200 bytes.Please let me a way to have the new line to start when the word "FIT" appears. I was trialling with 'tr' command but i am not sure how to get it based on bytes and so it wasn't working... Current... (3 Replies)
Discussion started by: appu2176
3 Replies

5. UNIX for Advanced & Expert Users

Problem while counting number of fields in TAB delimited file

I'm facing a strange problem, please help me out. Here we go. I want to count number of fields in particular file. filename and delimiter character will be passed through parameter. On command prompt if i type following i get 27 as output (which is correct) cat customer.dat | head -1 | awk... (12 Replies)
Discussion started by: vikanna
12 Replies

6. Shell Programming and Scripting

Print records which do not have expected number of fields in a comma delimited file

Hi, I have a comma (,) delimited file, in which few fields are enclosed with in double quotes " ". I have to print the records in the file which donot have expected number of field with the line number. File1 ==== name,desgnation,doj,project #header#... (7 Replies)
Discussion started by: machomaddy
7 Replies

7. Shell Programming and Scripting

Split a free form text delimited by space to words with other fields

Hi, I need your help for below with shell scripting or perl I/P key, Sentence customer1, I am David customer2, I am Taylor O/P Key, Words Customer1,I Customer1,am Customer1,David Customer2,I Customer2,am Customer2,Taylor (4 Replies)
Discussion started by: monishathampi
4 Replies

8. Shell Programming and Scripting

Using awk to rearrange fields

Hi, I am required to arrange columns of a file i.e make the 15th column into the 1st column. I am doing awk 'begin {fs=ofs=","} {print $15,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14}' ad.data>ad.csv the problem is that column 15 gets to column 1 but it is not comma separated with the... (10 Replies)
Discussion started by: seddoubt
10 Replies

9. UNIX for Dummies Questions & Answers

Need to convert a pipe delimited text file to tab delimited

Hi, I have a rquirement in unix as below . I have a text file with me seperated by | symbol and i need to generate a excel file through unix commands/script so that each value will go to each column. ex: Input Text file: 1|A|apple 2|B|bottle excel file to be generated as output as... (9 Replies)
Discussion started by: raja kakitapall
9 Replies

10. Shell Programming and Scripting

Pattern Match and Rearrange the Fields in UNIX

For an Output like below Input : <Subject A="I" B="1039502" C="2015-06-30" D="010101010101"> Output : <Subject D="010101010101" B="1039502" C="2015-06-30" A="I"> I have been using something like below but not getting the desired output : awk -F ' ' '/Subject/ BEGIN{OFS=" ";}... (19 Replies)
Discussion started by: arunkesi
19 Replies
PSGELS(l)						   LAPACK routine (version 1.5) 						 PSGELS(l)

NAME
PSGELS - solve overdetermined or underdetermined real linear systems involving an M-by-N matrix sub( A ) = A(IA:IA+M-1,JA:JA+N-1), SYNOPSIS
SUBROUTINE PSGELS( TRANS, M, N, NRHS, A, IA, JA, DESCA, B, IB, JB, DESCB, WORK, LWORK, INFO ) CHARACTER TRANS INTEGER IA, IB, INFO, JA, JB, LWORK, M, N, NRHS INTEGER DESCA( * ), DESCB( * ) REAL A( * ), B( * ), WORK( * ) PURPOSE
PSGELS solves overdetermined or underdetermined real linear systems involving an M-by-N matrix sub( A ) = A(IA:IA+M-1,JA:JA+N-1), or its transpose, using a QR or LQ factorization of sub( A ). It is assumed that sub( A ) has full rank. The following options are provided: 1. If TRANS = 'N' and m >= n: find the least squares solution of an overdetermined system, i.e., solve the least squares problem minimize || sub( B ) - sub( A )*X ||. 2. If TRANS = 'N' and m < n: find the minimum norm solution of an underdetermined system sub( A ) * X = sub( B ). 3. If TRANS = 'T' and m >= n: find the minimum norm solution of an undetermined system sub( A )**T * X = sub( B ). 4. If TRANS = 'T' and m < n: find the least squares solution of an overdetermined system, i.e., solve the least squares problem minimize || sub( B ) - sub( A )**T * X ||. where sub( B ) denotes B( IB:IB+M-1, JB:JB+NRHS-1 ) when TRANS = 'N' and B( IB:IB+N-1, JB:JB+NRHS-1 ) otherwise. Several right hand side vectors b and solution vectors x can be handled in a single call; When TRANS = 'N', the solution vectors are stored as the columns of the N-by-NRHS right hand side matrix sub( B ) and the M-by-NRHS right hand side matrix sub( B ) otherwise. 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
TRANS (global input) CHARACTER = 'N': the linear system involves sub( A ); = 'T': the linear system involves sub( A )**T. M (global input) INTEGER The number of rows to be operated on, i.e. the number of rows of the distributed submatrix sub( A ). M >= 0. N (global input) INTEGER The number of columns to be operated on, i.e. the number of columns of the distributed submatrix sub( A ). N >= 0. NRHS (global input) INTEGER The number of right hand sides, i.e. the number of columns of the distributed submatrices sub( B ) and X. NRHS >= 0. A (local input/local output) REAL pointer into the local memory to an array of local dimension ( LLD_A, LOCc(JA+N-1) ). On entry, the M-by-N matrix A. if M >= N, sub( A ) is over- written by details of its QR factorization as returned by PSGEQRF; if M < N, sub( A ) is overwritten by details of its LQ factor- ization as returned by PSGELQF. IA (global input) INTEGER The row index in the global array A indicating the first row of sub( A ). JA (global input) INTEGER The column index in the global array A indicating the first column of sub( A ). DESCA (global and local input) INTEGER array of dimension DLEN_. The array descriptor for the distributed matrix A. B (local input/local output) REAL pointer into the local memory to an array of local dimension (LLD_B, LOCc(JB+NRHS-1)). On entry, this array contains the local pieces of the dis- tributed matrix B of right hand side vectors, stored columnwise; sub( B ) is M-by-NRHS if TRANS='N', and N-by-NRHS otherwise. On exit, sub( B ) is overwritten by the solution vectors, stored columnwise: if TRANS = 'N' and M >= N, rows 1 to N of sub( B ) con- tain the least squares solution vectors; the residual sum of squares for the solution in each column is given by the sum of squares of elements N+1 to M in that column; if TRANS = 'N' and M < N, rows 1 to N of sub( B ) contain the minimum norm solution vectors; if TRANS = 'T' and M >= N, rows 1 to M of sub( B ) contain the minimum norm solution vectors; if TRANS = 'T' and M < N, rows 1 to M of sub( B ) contain the least squares solution vectors; the residual sum of squares for the solution in each column is given by the sum of squares of elements M+1 to N in that column. IB (global input) INTEGER The row index in the global array B indicating the first row of sub( B ). JB (global input) INTEGER The column index in the global array B indicating the first column of sub( B ). DESCB (global and local input) INTEGER array of dimension DLEN_. The array descriptor for the distributed matrix B. WORK (local workspace/local output) REAL array, dimension (LWORK) On exit, WORK(1) returns the minimal and optimal LWORK. LWORK (local or global input) INTEGER The dimension of the array WORK. LWORK is local input and must be at least LWORK >= LTAU + MAX( LWF, LWS ) where If M >= N, then LTAU = NUMROC( JA+MIN(M,N)-1, NB_A, MYCOL, CSRC_A, NPCOL ), LWF = NB_A * ( MpA0 + NqA0 + NB_A ) LWS = MAX( (NB_A*(NB_A-1))/2, (NRHSqB0 + MpB0)*NB_A ) + NB_A * NB_A Else LTAU = NUMROC( IA+MIN(M,N)-1, MB_A, MYROW, RSRC_A, NPROW ), LWF = MB_A * ( MpA0 + NqA0 + MB_A ) LWS = MAX( (MB_A*(MB_A-1))/2, ( NpB0 + MAX( NqA0 + NUMROC( NUMROC( N+IROFFB, MB_A, 0, 0, NPROW ), MB_A, 0, 0, LCMP ), NRHSqB0 ) )*MB_A ) + MB_A * MB_A End if where LCMP = LCM / NPROW with LCM = ILCM( NPROW, NPCOL ), IROFFA = MOD( IA-1, MB_A ), ICOFFA = MOD( JA-1, NB_A ), IAROW = INDXG2P( IA, MB_A, MYROW, RSRC_A, NPROW ), IACOL = INDXG2P( JA, NB_A, MYCOL, CSRC_A, NPCOL ), MpA0 = NUMROC( M+IROFFA, MB_A, MYROW, IAROW, NPROW ), NqA0 = NUMROC( N+ICOFFA, NB_A, MYCOL, IACOL, NPCOL ), IROFFB = MOD( IB-1, MB_B ), ICOFFB = MOD( JB-1, NB_B ), IBROW = INDXG2P( IB, MB_B, MYROW, RSRC_B, NPROW ), IBCOL = INDXG2P( JB, NB_B, MYCOL, CSRC_B, NPCOL ), MpB0 = NUMROC( M+IROFFB, MB_B, MYROW, IBROW, NPROW ), NpB0 = NUMROC( N+IROFFB, MB_B, MYROW, IBROW, NPROW ), NRHSqB0 = NUMROC( NRHS+ICOFFB, NB_B, MYCOL, IBCOL, NPCOL ), ILCM, INDXG2P and NUMROC are ScaLAPACK tool functions; MYROW, MYCOL, NPROW and NPCOL can be determined by calling the subroutine BLACS_GRIDINFO. If LWORK = -1, then LWORK is global input and a workspace query is assumed; the routine only calculates the minimum and optimal size for all work arrays. Each of these values is returned in the first entry of the corresponding work array, and no error message is issued by PXERBLA. INFO (global output) INTEGER = 0: successful exit < 0: If the i-th argument is an array and the j-entry had an illegal value, then INFO = -(i*100+j), if the i-th argument is a scalar and had an illegal value, then INFO = -i. LAPACK version 1.5 12 May 1997 PSGELS(l)
All times are GMT -4. The time now is 02:52 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy