¿Cómo puedo ajustar el texto en dos columnas?

¿Cómo puedo ajustar el texto en dos columnas?

foldPuede ajustar la línea si tiene más de una cierta cantidad de caracteres. Sin embargo, quiero agrupar un archivo de texto que tiene menos de 40 caracteres en cada línea en dos columnas (80 caracteres por línea en total).

yo quiero hacer

apple
banana
(28 items omitted)
grape
guava

en

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

¿Cómo puedo hacerlo?

Respuesta1

Usando la opción -COLUMNo --columns=COLUMNdepr

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

entonces tampoco

pr -t -2 yourfile

o

pr -t --columns=2 yourfile


Por ejemplo, aumentar sus entradas con algunas palabras aleatorias del diccionario,

$ 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

Respuesta2

Puede utilizar el columnscomando del paquete autogen, por ejemplo:

columns -c 2 -w 40 --by-column < input

Por ejemplo:

{
  echo apple
  echo banana
  shuf -n28 /usr/share/dict/words
  echo grape
  echo guave
} |
columns -w 40 -c 2 --by-columns

Producción:

apple                                   merwoman
banana                                  chiroplasty
antispreading                           stylommatophorous
spearmint                               Sphaerobolaceae
sulphoxyphosphate                       snark
nymphaeum                               reactionary
ahluwalia                               hobo
husky                                   oxamethane
crimeproof                              deltarium
cerebrosis                              hematoporphyrin
yoghurt                                 noncompoundable
colloquial                              sororially
unaffirmed                              nonobjection
saccharated                             reundercut
thermochemic                            grape
preobedience                            guave

Respuesta3

Agregando a la respuesta de Steeldriver, si tiene un requisito como el mío, es decir, imprimir palabras alternativas en las mismas columnas, use la opción -a (a través).

[user@server ~]$ cat << EOF | pr -a -t -2
> word1
> word2
> word3
> word4
> word5
> word6
> EOF
word1                               word2
word3                               word4
word5                               word6

información relacionada