bash - Joining lines, modulo the number of records -


say stream x*n lines long, x number of records , n number of columns per record, , output column-wise. example, x=2, n=3:

1 2 alice bob london new york 

how can join every line, modulo number of records, columns:

1   alice   london 2   bob     new york 

if use paste, n -s, transposed output. use split, -l option equal n, recombine pieces afterwards paste, i'd within stream without spitting out temporary files on place.

is there "easy" solution (i.e., rather invoking awk)? i'm thinking there may magic join solution, can't see it...


edit example, when x=5 , n=3:

1 2 3 4 5 b c d e alpha beta gamma delta epsilon 

expected output:

1     alpha 2   b   beta 3   c   gamma 4   d   delta 5   e   epsilon 

you looking pr "columnate" stream:

pr -t -s$'\t' -3 <<'end_stream' 1 2 alice bob london new york end_stream 
1       alice   london 2       bob     new york 

pr in coreutils.


Comments

Popular posts from this blog

android - InAppBilling registering BroadcastReceiver in AndroidManifest -

python Tkinter Capturing keyboard events save as one single string -

sql server - Why does Linq-to-SQL add unnecessary COUNT()? -