How to wrap text into two columns

text formattingtext;

fold can wrap the line if it has more than a certain amount of characters. However, I want to wrap a text file which has less than 40 characters in each line into two columns (80 chars per line total).

I want to make

apple
banana
(28 items omitted)
grape
guava

into

apple                                   ...
banana                                  ...
(12 items omitted)                      (12 items omitted)
...                                     grape
...                                     guava

How can I make it?

Best Answer

Using the -COLUMN or --columns=COLUMN option of pr

-COLUMN, --columns=COLUMN
       output COLUMN columns and print columns down, unless -a is used.
       Balance number of lines in the columns on each page

so either

pr -t -2 yourfile

or

pr -t --columns=2 yourfile


For example, augmenting your entries with some random dictionary words,

$ cat << EOF | pr -t -2
> apple
> banana
> `shuf -n28 /usr/share/dict/words`
> grape
> guava
> EOF
apple                               overachieves
banana                              wickerwork
cottonmouths                        supersonic
adapter's                           draftiest
boudoir's                           insisting
cruised                             programs
mousetrap                           parcel
shticks                             basically
TLC's                               coruscates
conduction                          Jones
geeing                              Ty
gloamings                           bondage
investing                           candelabra's
radiotherapists                     Inchon's
clasp's                             grape
critters                            guava
Related Question