bash - 打印格式类似于 `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
列数应与终端的大小相对应。
解决方案
用于tr
用换行符替换空格。然后用于column -cXXX
格式化终端XXX
字符宽度的输出,并用于tput cols
找出终端实际的宽度:
echo "..." | tr ' ' '\n' | column -c$(tput cols)
推荐阅读
- git - 如何将更改推送到远程存储库,但仅在特定提交中进行更改,使远程存储库中的所有内容保持不变?
- android - Android Studio 未显示硬盘上存在的原始布局
- docker - 在 docker 中运行 clickhouse 和 Kafka
- powershell - Powershell 处理基于相同名称的两个变量,如 SQL 连接
- reactjs - 在 react-native 的两个页面之间传输数据之前需要它
- javascript - Get next property of nested object in javascript
- c - 有没有办法在 Linux 中从接口名称获取 IP 地址,而不依赖于 ioctl 或 getifaddrs?
- c++ - clang-tidy 找不到标准标题
- c - C program to write a GUESS game with certain constraints. Problems occuring - error in code, logic of code, suggesstions
- sql - 哪些等待类型与 Azure SQL 数据库中的 SQL 等待类别“未知”相关联?