首页 > 解决方案 > 打印格式类似于 `ls` 命令的文本输出的字串

问题描述

是否有任何命令可以打印任何字符串,例如

"Lorem ipsum dolor sit amet consectetur adipiscing elit Aenean arcu dui commodo nec tortor ut posuere malesuada magna"

动态格式化为类似于ls命令文本输出的列,例如

~$ls
Applications   Dropbox        Pictures       test2          playground
Desktop        Library        Public         test3          programs
Documents      Movies         VirtualBoxVMs  macports       projects
Downloads      Music          test1          test4

列数应与终端的大小相对应。

标签: bashshellsh

解决方案


用于tr用换行符替换空格。然后用于column -cXXX格式化终端XXX字符宽度的输出,并用于tput cols找出终端实际的宽度:

echo "..." | tr ' ' '\n' | column -c$(tput cols)

推荐阅读