终端寻呼机:如何分列显示列表?

终端寻呼机:如何分列显示列表?

我确信它非常简单,但我不记得如何告诉终端寻呼机(more/less/pg/most)以列显示长列表。

由于我的输入只是一个简短元素的列表,因此ls默认以相同的方式显示它可以节省我不必要的滚动和宝贵的屏幕空间。

坏的:

aaa
bbb
ccc
ddd
eee
fff
ggg
hhh
iii

好的:

aaa ddd ggg
bbb eee hhh
ccc fff iii

答案1

使用column

例子:

ls -1 | column -c 100

这将格式化输出ls -1(每行一个条目),以适应宽度为 100 个字符的行中尽可能多的相同大小的列。

答案2

您可以使用paste从标准输入连接行:

paste - - - < filename

答案3

与 Daniel Beck 的回答类似:

$ echo {a..c}{a..c}{a..c}| tr \  \\n | column | sed 's/\t/ /g' | $PAGER
aaa aba aca baa bba bca caa cba cca
aab abb acb bab bbb bcb cab cbb ccb
aac abc acc bac bbc bcc cac cbc ccc

关键是通过用空格代替制表符来使输出更紧凑。

相关内容