Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Awk: convert rows to columns every n lines Post 302804703 by Pintug on Thursday 9th of May 2013 05:05:51 AM
Old 05-09-2013
Awk: convert rows to columns every n lines

Hi guys!

I use AWK commands under GAMS to predispose the data files to be read by GAMS.
I have a file which contains groups of data I need. Unfortunately I have the data spread in 3 rows for each subject.

Here's an example (the file is really long)

Code:
1 0 2.0956 100.00 250.00 100.00 2.0956 0.10000 R 0.00 20 1.00000
86222 2 16.50 13.50 0.2156 7.1880 275.0 0.36945 1.01250 1.10000 0.90000 0.01250 0 0 0 1 0.0000
86221 2 25.00 15.00 0.2156 7.1880 275.0 0.36945 1.07500 1.10000 0.90000 0.01250 0 0 0 1 0.0000
2 0 2.0956 100.00 250.00 100.00 2.0956 0.10000 R 0.00 20 1.00000
86222 2 16.50 13.50 0.2156 7.1880 275.0 0.36945 1.01250 1.10000 0.90000 0.01250 0 0 0 1 0.0000
86221 2 25.00 15.00 0.2156 7.1880 275.0 0.36945 1.07500 1.10000 0.90000 0.01250 0 0 0 1 0.0000

Is it possible to convert the rows to columns every 3 lines so that I have only one row per subject and I can easily read each field using awk?


I tried to do the conversion with this code

Code:
awk -f '{printf("%s%s",$0,NR%3?" ":"\n")}'

However the output I get is this:

Code:
1 0 2.0956 100.00 250.00 100.00 2.0956 0.10000 R 0.00 20 1.00000 86222 2 16.50 13.50 0.2156 7.1880 275.0 0.36945 1.01250 1.10000 0.90000 0.01250 0 0 0 1 0.0000 86221 2 25.00 15.00 0.2156 7.1880 275.0 0.36945 1.07500 1.10000 0.90000 0.01250 0 0 0 1 0.0000 2 0 2.0956 100.00 250.00 100.00 2.0956 0.10000 R 0.00 20 1.00000 86222 2 16.50 13.50 0.2156 7.1880 275.0 0.36945 1.01250 1.10000 0.90000 0.01250 0 0 0 1 0.0000 86221 2 25.00 15.00 0.2156 7.1880 275.0 0.36945 1.07500 1.10000 0.90000 0.01250 0 0 0 1 0.0000

Could you please help me?
Thank you!
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

how to convert columns to rows

Hi, I need a shell script for below requirement Input file P1 - 173310 P2 - 173476 P3 - 173230 P4 - 172737 P1 - 173546 P2 - 173765 P3 - 173876 P4 - 172989 Out put file P1 173310 173546 P2 173476 173765 P3 173230 173876 P4 172737 172989 Suresh (6 Replies)
Discussion started by: suresh3566
6 Replies

2. Shell Programming and Scripting

convert rows into columns

Hi guys Could anyone advise me how to convert my rows into columns from a file My file would be similar to this: A11 A12 A13 A14 A15 ... A1n A21 A22 A23 A31 A41 A51 ... Am1 Am2 Am3 Am4 Am5 ... Amn The number of rows is not the same to the number of columns Thanks in advance (2 Replies)
Discussion started by: loperam
2 Replies

3. UNIX for Dummies Questions & Answers

Convert rows to columns using AWK

Hi , I am struck while coding AWK script. Need your help to convert rows into columns. I should copy only those rows which are marked to Y in a file and ignore N rows. Please help me find a solution. input file 1|abc|Y 2|cdf|Y 3|efg|N 4|xyz|Y my output should be something like this... (2 Replies)
Discussion started by: rashmisb
2 Replies

4. Shell Programming and Scripting

convert rows to columns

hi, i have the file as below: abc def ghi jkl i want the output as abc,def,ghi,jki please reply, Thanks (4 Replies)
Discussion started by: namitai
4 Replies

5. Shell Programming and Scripting

Convert rows into columns using awk or perl

hi friends, i am able to parse cvs diff file using bit of cut and grep commands to produce following output in text file '''cvs-diff.txt''' Package-Name = dev-freetype. Old-Version = 2.4.8 New-Version = 2.4.10 Patches-removed = freetype-2.4.8-cross-compile.patch... (2 Replies)
Discussion started by: alexzander18
2 Replies

6. Shell Programming and Scripting

How to Convert rows in to columns?

Hi Gurus, How to convert rows in to columns using linux shell scripting Input is like (sample.txt) ABC DEF GHI JKL MNO PQR STU VWX YZA BCD output should be (sampleoutput.csv) ABC,DEF,GHI,JKL,MNO PQR,STU,VWX,YZA,BCD (2 Replies)
Discussion started by: infasriniit
2 Replies

7. Shell Programming and Scripting

Convert Rows to Columns

Hi Everyone, Could someone shed some lights on how to convert the records in rows form into column basis. 172.29.59.12 IBM,8255-E8B 102691P 8 65536 MB 6100-04-11-1140 172.29.59.15 IBM,8255-E8B 102698P 4 45056 MB 6100-04-11-1140 IP SYS MODEL ... (6 Replies)
Discussion started by: ckwan
6 Replies

8. Shell Programming and Scripting

Convert rows to columns

I am looking to print the data in columns and after every 3 words it should be a new row. cat example.out | awk 'END { for (i = 0; ++i < m;) print _;print _ }{ _ = _ x ? _ OFS $1 : $1}' m=1| grep -i INNER I am looking to print in a new line after every 3 words. ... (2 Replies)
Discussion started by: lazydev
2 Replies

9. Shell Programming and Scripting

Convert rows to columns

hi folks, I have a sample data like what is shown below: 1,ID=1000 1,Org=CedarparkHospital 1,cn=john 1,sn=doe 1,uid=User001 2,uid=User002 2,ID=2000 2,cn=steve 2,sn=jobs 2,Org=Providence I would like to convert it into the below format: 1,1000,CedarparkHospital,john,doe,User001... (11 Replies)
Discussion started by: vskr72
11 Replies

10. Shell Programming and Scripting

Convert rows into columns and create table with awk

Hello I've four fields . They are First Name, Last Name, Age, Country. So when I run a Unix command, I get below output with these fields comes every time in different order as you can see. Some times first name is the first row and other time last name is first row in the output and etc etc..... (9 Replies)
Discussion started by: rprpr
9 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 06:02 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy