reading comma separated data and reorder


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting reading comma separated data and reorder
# 1  
Old 04-07-2011
reading comma separated data and reorder

hey guys!
i need to read data from a file that are comma separated then reorder them in another file to be generated

for example:

x,y,z
a,b,c
l,m,n
o,p,q

and transform this into:

x,a,l,o
y,b,m,p
z,c,n,q

Will appreciate your fast reply
Regards!
# 2  
Old 04-07-2011
Code:
 
awk -F"," 'NR==1{for(i=1;i<=NF;i++)a[i]=$i;next} {for(i=1;i<=NF;i++) a[i]=a[i]OFS$i} END{for(i=1;i in a;i++) print a[i]}' OFS=","  input_file

check it out on how to get the output in the same order you read it.

Last edited by panyam; 04-07-2011 at 12:52 PM.. Reason: changed the for loop a bit to get the data in order
# 3  
Old 04-07-2011
Try:
Code:
perl -F, -alne 'for ($i=0;$i<=$#F;$i++){push @{$h{$i}},$F[$i]}END{for ($i=0;$i<=$#F;$i++){$,=",";print @{$h{$i}}}}' file

# 4  
Old 04-07-2011
Ruby(1.9.1+)

Code:
$ ruby  -ne 'BEGIN{a=[]};a<<$_.chomp.split(",");END{a.transpose.each{|x| puts x.join(",") }}' file
x,a,l,o
y,b,m,p
z,c,n,q

# 5  
Old 04-10-2011
Quote:
Originally Posted by kurumi
Ruby(1.9.1+)

Code:
$ ruby  -ne 'BEGIN{a=[]};a<<$_.chomp.split(",");END{a.transpose.each{|x| puts x.join(",") }}' file
x,a,l,o
y,b,m,p
z,c,n,q

is this a language other that shell scripting? am sorry am a beginner
# 6  
Old 04-10-2011
Code:
i=1; while true ; do a=`cut -d, -f$i file` ; ((i++)); [ "$a" ] || break ; echo $a | tr ' ' ',' ; done

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

AIX put comma separated data on its own line

In Linux you can do this to put comma separated data on its own line like this. sed 's/ */&\n/g' /tmp/ports sed 's/ */\n/g' /tmp/ports How do you do this in AIX? It is not working. Is there another way to do this? Something like this. 1, 2, 3, 4 To look like this. 1 2 3 4 (4 Replies)
Discussion started by: cokedude
4 Replies

2. UNIX for Beginners Questions & Answers

How to extract fields from a CSV i.e comma separated where some of the fields having comma as value?

can anyone help me!!!! How to I parse the CSV file file name : abc.csv (csv file) The above file containing data like abv,sfs,,hju,',',jkk wff,fst,,rgr,',',rgr ere,edf,erg,',',rgr,rgr I have a requirement like i have to extract different field and assign them into different... (4 Replies)
Discussion started by: J.Jena
4 Replies

3. Shell Programming and Scripting

awk to parse comma separated field and removing comma in between number and double quotes

Hi Experts, Please support I have below data in file in comma seperated, but 4th column is containing comma in between numbers, bcz of which when i tried to parse the file the column 6th value(5049641141) is being removed from the file and value(222.82) in column 5 becoming value of column6. ... (3 Replies)
Discussion started by: as7951
3 Replies

4. UNIX for Dummies Questions & Answers

[solved] Comma separated values to space separated

Hi, I have a large number of files which are written as csv (comma-separated values). Does anyone know of simple sed/awk command do achieve this? Thanks! ---------- Post updated at 10:59 AM ---------- Previous update was at 10:54 AM ---------- Guess I asked this too soon. Found the... (0 Replies)
Discussion started by: lost.identity
0 Replies

5. Shell Programming and Scripting

Reading Words separated by comma in line

Hi All, I am facing issue, to read words in line, line as follow and i want to read word at each comma 1,you,are,two So i want read like 1 you are two Thanks (1 Reply)
Discussion started by: sujit_kashyap
1 Replies

6. Shell Programming and Scripting

Need Help - comma inside double quote in comma separated csv,

Hello there, I have a comma separated csv , and all the text field is wrapped by double quote. Issue is some text field contain comma as well inside double quote. so it is difficult to process. Input in the csv file is , 1,234,"abc,12,gh","GH234TY",34 I need output like below,... (8 Replies)
Discussion started by: Uttam Maji
8 Replies

7. Shell Programming and Scripting

Comma separated file

Hi all, I have the following files types: FileA: 100, 23, 33, FileB: 22, 45, 78, and i want to make File C: 100,22 23,45 33,78 any nice suggestions for making it easy. (3 Replies)
Discussion started by: hen1610
3 Replies

8. Shell Programming and Scripting

Reading comma separated variable into other variables in shell script

Hi, In shell script, I have a variable var = xyz, inn, day, night, calif ....n and I would like to read them in to var1 = xzy, var2 = inn, var3= day, var4 = night....var. probably in a loop. I would like to read the variables until end of the line. Comma is the delimiter and there's no comma at... (3 Replies)
Discussion started by: suryaemlinux
3 Replies

9. Shell Programming and Scripting

help:Reading width separated data

Hi, I'm quite new to unix script, and is having some problems currently. Say for the following sample project: The sql result is stored in a file >sql.txt. The result is shown (sample table): ID Price Tag Name ----- ------- ----- -------- A 100 test1 test1 B ... (6 Replies)
Discussion started by: lornen81
6 Replies

10. Shell Programming and Scripting

Parse apart strings of comma separated data with varying number of fields

I have a situation where I am reading a text file line-by-line. Those lines of data contain comma separated fields of data. However, each line can vary in the number of fields it can contain. What I need to do is parse apart each line and write each field of data found (left to right) into a file.... (7 Replies)
Discussion started by: 2reperry
7 Replies
Login or Register to Ask a Question