How to line up columns using paste(1)? or how to make an aligned table merging lines in the shell?
- by nn
Hi,
I want to merge lines such that the merged lines are aligned on the same boundary.
UNIX paste(1) does this nicely when lines all meet at the same tab boundary, but when lines
differ in size (in the file that lines are being merged into), the text comes out awkward.
Example of paste(1) that has the desired effect:
$ echo -e "a\nb\nccc\nd" | paste - -
a b
ccc d
Example of paste(1) with undesired effect:
$ echo -e "a\nb\ncccccccccccc\nd" | paste - -
a b
cccccccccccc d
Note how the 2nd column doesn't line up. I want 'b' to line up with 'd', which requires an additional tab. Unfortunately I believe this is the limit for the paste utility, so if anyone has any idea of how to get the desired effect above, I'd love to hear it.