awk split columns to row after N number of column


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting awk split columns to row after N number of column
# 1  
Old 11-09-2018
awk split columns to row after N number of column

I want to split this with every 5 or 50 depend on how much data the file will have. And remove the comma on the end

Source file will have
Code:
001,0002,0003,004,005,0006,0007,007A,007B,007C,007E,007F,008A,008C

Need Output from every 5 tab and remove the comma from end of each row

Code:
001,0002,0003,004,005
0006,0007,007A,007B,007C
007E,007F,008A,008C

# 2  
Old 11-09-2018
how about:
Code:
$ echo '001,0002,0003,004,005,0006,0007,007A,007B,007C,007E,007F,008A,008C' | awk -F, -v b=5 '{for(i=b+1;i<=NF;i=i+b) $i=ORS $i}1' OFS=, | sed 's/,$//'
001,0002,0003,004,005
0006,0007,007A,007B,007C
007E,007F,008A,008C


Last edited by vgersh99; 11-09-2018 at 02:13 PM..
This User Gave Thanks to vgersh99 For This Post:
# 3  
Old 11-09-2018
Try also
Code:
tr ',' $'\n' < file | paste -sd',,,,\n'
001,0002,0003,004,005
0006,0007,007A,007B,007C
007E,007F,008A,008C

This User Gave Thanks to RudiC For This Post:
# 4  
Old 11-12-2018
Quote:
Originally Posted by vgersh99
how about:
Code:
$ echo '001,0002,0003,004,005,0006,0007,007A,007B,007C,007E,007F,008A,008C' | awk -F, -v b=5 '{for(i=b+1;i<=NF;i=i+b) $i=ORS $i}1' OFS=, | sed 's/,$//'
001,0002,0003,004,005
0006,0007,007A,007B,007C
007E,007F,008A,008C


Thanks working perfect
# 5  
Old 11-12-2018
Code:
awk 'ORS=(NR%5)? ",":"\n"' RS=, infile

This User Gave Thanks to rdrtx1 For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Using awk to split a column into two columns

Hi, I am trying to split the following output into two columns, where each column has Source: Destination: OUTPUT TO FILTER $ tshark -r Capture_without_mtr.pcap -V | awk '/ (Source|Destination): /' | more Source: x.x.x.x Destination: x.x.x.x Source:... (2 Replies)
Discussion started by: sand1234
2 Replies

2. Shell Programming and Scripting

Split column when value in column is blank in any row

Hi Experts, In short : Need to split file when field in column 5 is blank and need to generate two file in which column 5 is blank and other in which column 5 has values along with other rows and column data My issue is i am not able to get header for column from raw file into new file which... (1 Reply)
Discussion started by: as7951
1 Replies

3. Shell Programming and Scripting

Split column data if the table has n number of column's with some record

Split column data if the table has n number of column's with some record then how to split n number of colmn's line by line with records Table --------- Col1 col2 col3 col4 ....................col20 1 2 3 4 .................... 20 a b c d .................... v ... (11 Replies)
Discussion started by: Priti2277
11 Replies

4. Shell Programming and Scripting

Awk, appending a number in the first column of a row with a condition

Hi everyone, I have a data file in which the data is stored in event blocks. What I would like to get is that the same file with every data row starting with the number of event block. So here is two event blocks from my file: <event> -2 -1 0 0 0 501 0.00000000000E+00 ... (2 Replies)
Discussion started by: hayreter
2 Replies

5. Shell Programming and Scripting

awk split columns after matching on rows and summing the last column

input: chr1 1 2 3 chr1 1 2 4 chr1 2 4 5 chr2 3 6 9 chr2 3 6 10 Code: awk '{a+=$4}END{for (i in a) print i,a}' input Output: chr112 7 chr236 19 chr124 5 Desired output: chr1 1 2 7 chr2 3 6 19 chr1 2 4 5 (1 Reply)
Discussion started by: jacobs.smith
1 Replies

6. UNIX for Dummies Questions & Answers

awk to print first row with forth column and last row with fifth column in each file

file with this content awk 'NR==1 {print $4} && NR==2 {print $5}' file The error is shown with syntax error; what can be done (4 Replies)
Discussion started by: cdfd123
4 Replies

7. Shell Programming and Scripting

Subtracting each row from the first row in a single column file using awk

Hi Friends, I have a single column data like below. 1 2 3 4 5 I need the output like below. 0 1 2 3 4 where each row (including first row) subtracting from first row and the result should print below like the way shown in output file. Thanks Sid (11 Replies)
Discussion started by: ks_reddy
11 Replies

8. UNIX for Dummies Questions & Answers

Adding a column with the row number using awk

Is there anyway to use awk to add a first column to my data that automatically goes from 1 to n , where n is the numbers of my rows?:confused: (4 Replies)
Discussion started by: cosmologist
4 Replies

9. Shell Programming and Scripting

shell script(Preferably awk or sed) to print selected number of columns from each row

Hi Experts, The question may look very silly by seeing the title, but please have a look at it clearly. I have a text file where the first 5 columns in each row were supposed to be attributes of a sample(like sample name, number, status etc) and the next 25 columns are parameters on which... (3 Replies)
Discussion started by: ks_reddy
3 Replies

10. UNIX for Dummies Questions & Answers

split header row into one column

So, I have a massive file with thousands of columns I want a list of the headers in one column in another file. So I need to strip off the top line (can use head-1) But how can I convert from this format: A B C D E F G to A B C D E F G (6 Replies)
Discussion started by: polly_falconer
6 Replies
Login or Register to Ask a Question