Columns to rows


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Columns to rows
# 1  
Columns to rows

HI UNIX Gurus,
Not sure if this was already asked and an UNIX Guru has replied but I could not find what i wanted. I have linux environment and need help on this. I have several files like this.


Code:
a,1
b,1
utc,10/12/2019
local,10/12/2018
name,xxxy
deg,feh
10,12
20,8
30,50
32,64
46,65
49,66
50,70
51.2,71
54,73.6

and so on


i want the first 5 rows to be in columns repeated like below.



Code:
deg,feh,a,b,utc,local,name10,12,1,2,10/12/2019,10/12/2018,xxxy
20,8,1,2,10/12/2019,10/12/2018,xxxy
30,50,1,2,10/12/2019,10/12/2018,xxxy
32,64,1,2,10/12/2019,10/12/2018,xxxy
46,65,1,2,10/12/2019,10/12/2018,xxxy
49,66,1,2,10/12/2019,10/12/2018,xxxy
50,70,1,2,10/12/2019,10/12/2018,xxxy
51.2,71,1,2,10/12/2019,10/12/2018,xxxy
54,73.6,1,2,10/12/2019,10/12/2018,xxxy

Moderator's Comments:
Mod Comment
Please use code tags when posting data and code samples!

Last edited by vgersh99; 4 Weeks Ago at 02:25 PM.. Reason: code tags, please!
# 2  
Your sample output doesn't match your sample data.
Try
Code:
awk -F, '
NR <= 5         {SUF1 = SUF1 DL $1
                 SUF2 = SUF2 DL $2
                 DL = FS
                 next
                }
NR == 6         {printf "%s,%s",   $0, SUF1
                 next
                }
                {printf "%s,%s\n", $0, SUF2
                }
' file

# 3  
Columns to Rows

Hello RudiC Sorry somehow it got missed. This is how the output should look like. the values of 1st,2nd,3rd,4th,5th rows repeats for every line. 1,1,10/12,2019,10,12,2018,xxxy .Thank you in advance and I have to do this logic for several files in the same directory

Code:
1,1,10/12/2019,10/12/2018,xxxy,a,1 
1,1,10/12/2019,10/12/2018,xxxy,b,1 
1,1,10/12/2019,10/12/2018,xxxy,utc,10/12/2019 
1,1,10/12/2019,10/12/2018,xxxy,local,10/12/2018 
1,1,10/12/2019,10/12/2018,xxxy,name,xxxy 
1,1,10/12/2019,10/12/2018,xxxy,deg,feh 
1,1,10/12/2019,10/12/2018,xxxy,10,12 
1,1,10/12/2019,10/12/2018,xxxy,20,8 
1,1,10/12/2019,10/12/2018,xxxy,30,50 
1,1,10/12/2019,10/12/2018,xxxy,32,64 
1,1,10/12/2019,10/12/2018,xxxy,46,65 
1,1,10/12/2019,10/12/2018,xxxy,49,66 
1,1,10/12/2019,10/12/2018,xxxy,50,70 
1,1,10/12/2019,10/12/2018,xxxy,51.2,71 
1,1,10/12/2019,10/12/2018,xxxy,54,73.6

Moderator's Comments:
Mod Comment Please wrap your samples in CODE TAGS as per forum rules.

Last edited by RavinderSingh13; 4 Weeks Ago at 01:49 AM..
# 4  
Code:
awk -F, '
NR < 6          {PRFX = PRFX DL $2
                 DL = FS
                 T[NR] = $0
                 next
                }
NR == 6         {for (i=1; i<6; i++) print PRFX, T[i]
                }
                {print PRFX, $0
                }
' OFS=, file

# 5  
Syntax error

Thank you RudiC why does it throw error what am I missing in this.
Code:
[root@sandbox-hdp test]# awk -F, ' NR < 6 {PRFX = PRFX DL $2 DL = FS T[NR] = $0 next } NR == 6 {for (i=1; i<6; i++) print PRFX, T[i] } {print PRFX, $0 } ' OFS=, fil1.csv                                                                 
awk: cmd. line:1:  NR < 6 {PRFX = PRFX DL $2 DL = FS T[NR] = $0 next } NR == 6 {for (i=1; i<6; i++) print PRFX, T[i] } {print PRFX, $0 }                                                                                                  
awk: cmd. line:1:                               ^ syntax error                                                                                                                                                                            
awk: cmd. line:1:  NR < 6 {PRFX = PRFX DL $2 DL = FS T[NR] = $0 next } NR == 6 {for (i=1; i<6; i++) print PRFX, T[i] } {print PRFX, $0 }                                                                                                  
awk: cmd. line:1:                                          ^ syntax error

# 6  
Don't modify proven scripts without knowing exactly what you are doing. Here: Don't collapse a multiline script into a one liner without the necessary statement terminators, ; . Did you test the unmodified script? To what avail?
Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #714
Difficulty: Medium
Machine learning is a well known method for mitigating the Von Neumann performance bottleneck
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Rows to columns

trying to sort an array, only the 4th column is uniq, have this: dog cat bird house1 dog cat bird house2 dog cat bird house3 rose daisy tulip house1 rose daisy tulip house3 would like this: dog cat bird house1 house2 house3 rose daisy tulip house1 missing house3 any help... (6 Replies)
Discussion started by: jimmyf
6 Replies

2. Shell Programming and Scripting

Compare 2 csv files by columns, then extract certain columns of matcing rows

Hi all, I'm pretty much a newbie to UNIX. I would appreciate any help with UNIX coding on comparing two large csv files (greater than 10 GB in size), and output a file with matching columns. I want to compare file1 and file2 by 'id' and 'chain' columns, then extract exact matching rows'... (5 Replies)
Discussion started by: bkane3
5 Replies

3. Shell Programming and Scripting

Columns and rows

echo "Month" echo "Feb_2014" echo "March_2014" echo "Apr_2014" echo "No of files" grep ,y, Feb_2014.csv |wc -l grep ,y, Mar_2014.csv |wc -l grep ,y, Apr_2014.csv |wc -l echo "Total no of success" awk -F"," '{x+=$4}END{print x}' Feb_2014.csv awk -F"," '{x+=$4}END{print x}'... (3 Replies)
Discussion started by: shelllearner
3 Replies

4. Shell Programming and Scripting

Columns to rows

Hi, I have a big file, with thousands of rows, and I want to put every 7 rows in a line. Input file: str1, val2, val3 str2, val4, val5 str3, val22, val33 str4, val44, val55 str5, val6, val7 str6, val77, val88 str7, val99, val00 str1, som2, som3 str2, som4, som5 str3, som22, som33 ... (11 Replies)
Discussion started by: apenkov
11 Replies

5. Shell Programming and Scripting

Evaluate 2 columns, add sum IF two columns match on two rows

Hi all, I know this sounds suspiciously like a homework course; but, it is not. My goal is to take a file, and match my "ID" column to the "Date" column, if those conditions are true, add the total number of minutes worked and place it in this file, while not printing the original rows that I... (6 Replies)
Discussion started by: mtucker6784
6 Replies

6. Shell Programming and Scripting

Deleting all the fields(columns) from a .csv file if all rows in that columns are blanks

Hi Friends, I have come across some files where some of the columns don not have data. Key, Data1,Data2,Data3,Data4,Data5 A,5,6,,10,, A,3,4,,3,, B,1,,4,5,, B,2,,3,4,, If we see the above data on Data5 column do not have any row got filled. So remove only that column(Here Data5) and... (4 Replies)
Discussion started by: ks_reddy
4 Replies

7. Shell Programming and Scripting

Rows to Columns

Hi Guru's, I have a requirement where i need to convert rows to column based on a key column. Input: Account_id|Trip_Org|Trip_Dest|City|Hotel_Nm 123|DFW|CHI|Dallas|Hyatt 123|LAS|LPA|Vegas|Hyatt Palace Output:... (6 Replies)
Discussion started by: rakesh5300
6 Replies

8. Shell Programming and Scripting

Rows into Columns

Input File vCenter Servers: 172.28.173.207: vCenter Server connectivity status: Accessible ESX servers: Name: nyp-vhst1001-at.hq.nt.life.com IP address: 10.34.36.11 Virtual machines: Name:nyp-bbmds-at Ip address: 172.28.173.139 ... (1 Reply)
Discussion started by: greycells
1 Replies

9. Shell Programming and Scripting

rows to columns

Hi Friends, I have a input file as below. how to convert rows to columns? Friday:recharge 3861140 Monday:recharge 4036228 Saturday:recharge 3996376 Sunday:recharge 3777749 Thursday:recharge 3858537 Tuesday:recharge 4047045 Wednesday:recharge 3954798 desinred output Sunday ... (3 Replies)
Discussion started by: suresh3566
3 Replies

10. Shell Programming and Scripting

Columns into rows

Hi, Let me know how to achieve the below requirment Input: ======== BEGIN DSSUBRECORD Name "DOC_NO_2" SqlType "-5" Precision "0" Scale "0" Nullable "0" END DSSUBRECORD BEGIN DSSUBRECORD Name "FROM_LOC" ... (1 Reply)
Discussion started by: Ramya_1104
1 Replies

Featured Tech Videos