Sponsored Content
Full Discussion: Row to column transpose
Top Forums UNIX for Dummies Questions & Answers Row to column transpose Post 302794943 by hanson44 on Wednesday 17th of April 2013 04:10:15 AM
Old 04-17-2013
It seems like there are 200 fields in that record. That does not seem that many fields. It runs fine here. I use gawk (GNU awk) on Linux. Is there any chance you are using the original awk version (old awk)? If yes, maybe that awk version has a limitation for number of fields, and any chance your computer has nawk (new awk) or gawk (GNU awk)? Most do.
Code:
$ awk -f awk.txt sample | head -4
829454378,111195680,25/03/2010
829454378,111195680,26/03/2010
829454378,111195680,29/03/2010
829454378,111195680,30/03/2010

Code:
$ awk -f awk.txt sample | tail -4
829454378,111195680,24/12/2010
829454378,111195680,29/12/2010
829454378,111195680,30/12/2010
829454378,111195680,31/12/2010

---------- Post updated at 03:10 AM ---------- Previous update was at 02:45 AM ----------

Here's a way that does not depend on awk # of fields.
Code:
$ cat temp.sh
sed "s/^/BEGIN_LINE,/" sample > temp1.x
tr "," "\n" < temp1.x > temp2.x
while read line; do
  if [ $line = "BEGIN_LINE" ]; then
    read field1
    read field2
    continue
  fi
  echo $field1,$field2,$line
done < temp2.x

With original input:
Code:
$ ./temp.sh
667528417,017804259,06/01/2010
667528417,017804259,05/02/2010
667528417,017804259,05/03/2010
667528417,017804259,06/04/2010
667528417,017804259,06/05/2010
346787889,098454545,05/07/2011
346787889,098454545,08/05/2012
346787889,098454545,02/03/2012
243455459,045464575,02/08/2010
243455459,045464575,12/09/2012

With really long line:
Code:
$ ./temp.sh | head -4
829454378,111195680,25/03/2010
829454378,111195680,26/03/2010
829454378,111195680,29/03/2010
829454378,111195680,30/03/2010

Code:
$ ./temp.sh | tail -4
829454378,111195680,24/12/2010
829454378,111195680,29/12/2010
829454378,111195680,30/12/2010
829454378,111195680,31/12/2010

Of course, if the input line is REALLY long, sed also would have a problem with it. If that happens, there is another solution, but no use going into that if the above shell script works, or if you can get an awk that allows more fields.

BTW, I tested gawk with 7198 fields, and no problem. I don't know what the maximum is.
This User Gave Thanks to hanson44 For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Row to column transpose

Can we transpose rows to columns? Fields within row are separated by a comma. (10 Replies)
Discussion started by: videsh77
10 Replies

2. Shell Programming and Scripting

Transpose column to row

Hi i have a file which has values seperated by "," as shown below and I want to transpose for every doc_id in one row. Input: DOC_ID,KEYWORD 105,REGISTROS 105,GEOLOGIA 105,NUCLEOS 105,EXPEDIENTE 105,PROGRAMAS 10025,EXPEDIENTE 10025,LOCALIZACIONES 10025,OFICIOS 10025,PROGRAMAS... (4 Replies)
Discussion started by: juelillo
4 Replies

3. Shell Programming and Scripting

Row to column transpose between same pattern.

Hi All, I have been trying to transpose rows to column in an large file (about 15000 lines) between matching pattern. Searched all posts in this forum, but not able find the solution to my problem. Any help appreciated.!! Input /*------XXXXXX-------*/ owner: XXXX location: XXXX... (3 Replies)
Discussion started by: RobP
3 Replies

4. Shell Programming and Scripting

Column to row Transpose

Hi Folks, Iam a kinda newbie to unix shell scripting, the scenario is i have a text file containing the following info Charlie chicago 15 Charlie newyork 26 jonny chicago 14 jonny newyork 15 joe chicago 15 joe newyork 18output should be Name chicago ... (3 Replies)
Discussion started by: tech_frk
3 Replies

5. Shell Programming and Scripting

Transpose column to row - awk

Hi there, I have a small csv file example below: source,cu_001,cu_001_volume,cu_001_mass,cu_002,cu_002_volume,cu_002_mass,cu_003,cu_003_volume,cu_003_mass ja116,1.33,3024000,9374400,1.54,3026200,9375123,1.98,3028000,9385512 I want to transpose columns to rows starting at the second... (3 Replies)
Discussion started by: theflamingmoe
3 Replies

6. Shell Programming and Scripting

To transpose row into column

Hi All, In shell, I have below data coming from some some text file as below: . 351706 5861.8 0.026 0.012 12.584 0.026 0.012 12.582 0.000 0.000 0.000 Now i need the above data to be transposed as below 351706... (16 Replies)
Discussion started by: Anamica
16 Replies

7. Shell Programming and Scripting

Transpose row to column

I'm using the testawk.awk from the following thread https://www.unix.com/shell-programming-and-scripting/18897-row-column-transpose.htmlI'm getting the following output fieldname1 data1 fieldname2 data2 fieldname3 data3 How can I get like this instead 1 fieldname1 data1 2 fieldname2 data2... (1 Reply)
Discussion started by: makkan
1 Replies

8. Shell Programming and Scripting

Transpose from row to column using timestamp in first column

Gents, Transpose from row to column, taking in consideration the first column, which contends the date. Input file 72918,111000009,111000009,111000009,111000009,111000009,111000009,111000009,111000009,111000009 72918,2356,2357,2358,2359,2360,2361,2362,2363,2364 72918,0,0,0,0,0,0,0,0,0... (12 Replies)
Discussion started by: jiam912
12 Replies

9. Shell Programming and Scripting

How transpose column in a row?

Hello guys, First of all happy holidays and happy new year. I'm new in bioinformatic and also it is my first time that I write in this forum. Therefore, sorry if I make some mistakes. I'm writing to ask your help to fix a problem: I have a file like this: gene1 GO:0016491|GO:0055114... (8 Replies)
Discussion started by: Salvatore_espos
8 Replies

10. UNIX for Beginners Questions & Answers

Transpose the Row and column

Hi, I have data in form of A ram B shyam C seeta D geeta A bob B methew C Richad D Mike and i want it in this form. A B C D ram shyam seeta geeta bob methew Richard Mike. please help by providing the scripting for this. (3 Replies)
Discussion started by: ricbha
3 Replies
All times are GMT -4. The time now is 12:43 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy