bash - 正确对齐列的 Shell 脚本

标签 bash shell unix scripting utilities

我有一个(3 列)制表符分隔的文件,例如:

activity_log    manager Manager
reserve_rm_hreserver_rm_log manager Manager
mo  apprv_mgr1  Approving Manager
wrview  manager Manager

我想让列正确对齐;在这种情况下:
activity_log                  manager      Manager
reserve_rm_hreserver_rm_log   manager      Manager
mo                            apprv_mgr1   Approving Manager
wrview                        manager      Manager

毫无疑问,这对 awk 是可行的,通过扫描每一列中最长的字符串,并使用它来格式化列打印。我可以那样做。

但我相信一定有一个单线可以更轻松地做到这一点。我对吗?

最佳答案

这应该有效:

$ column -t myfile.txt

你可以使用不同的字符来填充( man column 是你的 friend )

关于bash - 正确对齐列的 Shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35199453/

相关文章:

linux - 在类 unix 环境中从 shell 获取人类友好的文件大小 [可移植性]

c - 在 c 程序中使用 'rm' 命令使用 stdlib.h 中的 system() 函数

macos - 在 Mac 中从脚本启动新终端时设置 PATH

linux - 替换 bash 返回输出中的字符

linux - 避免 bash 脚本等待用户输入 Enter 键

bash - 如何获取当前/又名下一次提交的 git 哈希(不是头)

Bash 脚本通过 SSH 进入机器而不提示密码且不使用 key

linux - 如何在 Bash 中从列表式标准输出流中过滤数据?

php - system 和 shell_exec 的区别

file - unix 将尾部重定向到文件