将 STDOUT 列化的简单方法(在列中格式化文本)?

将 STDOUT 列化的简单方法(在列中格式化文本)?

我只是想要一种简单的方法将输出列化到终端。

  • 不必在意颜色。 (嗯,实际上我做了很多!但是有一个很棒、易于使用的ANSI 颜色为了那个原因。)
  • Shell 脚本优先,但任何易于使用的东西都可以。
  • 优先考虑灵活的解决方案,但我想要解决的简单情况是逐行查看文本,查找第一次出现的分隔符(例如,等号,或者逗号),然后将该字符两边的所有内容分成各自的列。

答案1

使用column命令:

rpinson@rpinson:~$ mount | column -t
/dev/sda1         on  /                         type  ext3                   (rw,errors=remount-ro)
proc              on  /proc                     type  proc                   (rw,noexec,nosuid,nodev)
none              on  /sys                      type  sysfs                  (rw,noexec,nosuid,nodev)
none              on  /sys/kernel/debug         type  debugfs                (rw)
none              on  /sys/kernel/security      type  securityfs             (rw)
none              on  /dev                      type  devtmpfs               (rw,mode=0755)
none              on  /dev/pts                  type  devpts                 (rw,noexec,nosuid,gid=5,mode=0620)
none              on  /dev/shm                  type  tmpfs                  (rw,nosuid,nodev)
none              on  /var/run                  type  tmpfs                  (rw,nosuid,mode=0755)
none              on  /var/lock                 type  tmpfs                  (rw,noexec,nosuid,nodev)
none              on  /lib/init/rw              type  tmpfs                  (rw,nosuid,mode=0755)
binfmt_misc       on  /proc/sys/fs/binfmt_misc  type  binfmt_misc            (rw,noexec,nosuid,nodev)
gvfs-fuse-daemon  on  /home/rpinson/.gvfs       type  fuse.gvfs-fuse-daemon  (rw,nosuid,nodev,user=rpinson)

相关内容