当你看到Linux下命令输出的列歪歪扭扭时,是不是看着很不爽?column 命令就可以方便地解决这个问题。
比如:
我们一般就只用到上面这一个用法。
column的其他用法如下:
选项
|
含义
|
-c 字符数 | 指定显示的列宽 |
-s“ 分隔符 “ | 使用-t选项时,指定分隔符(允许指定多个分隔符) |
-t | 判断输入行的列数来创建一个表。分隔符是使用在-s中指定的字符。如果没有指定分隔符,默认是空格 |
-x | 更改排列顺序(左→右)。默认的顺序为(上→下) |
实例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
[root@uyhd000225 ~]# mount
/dev/hda1 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=
5
,mode=
620
)
tmpfs on /dev/shm type tmpfs (rw)
/dev/xvdb1 on /data type ext3 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
[root@uyhd000225 ~]# mount |column -t
/dev/hda1 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=
5
,mode=
620
)
tmpfs on /dev/shm type tmpfs (rw)
/dev/xvdb1 on /data type ext3 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
|
解释-s选项:
我以为-s选项是输出分隔符,比如上面,我是用如下命令:
1
2
3
4
5
6
7
8
9
|
[root@uyhd000225 ms]
# mount |column -s '@' -t
/dev/hda1
on /
type
ext3 (rw)
proc on
/proc
type
proc (rw)
sysfs on
/sys
type
sysfs (rw)
devpts on
/dev/pts
type
devpts (rw,gid=5,mode=620)
tmpfs on
/dev/shm
type
tmpfs (rw)
/dev/xvdb1
on
/data
type
ext3 (rw)
none on
/proc/sys/fs/binfmt_misc
type
binfmt_misc (rw)
[root@uyhd000225 ms]
#
|
我以为他会输出以@为分隔符,但是没有安装我的期望输出
man column没有详细说明使用方法,info column也没有:
google发现他是输出分隔符,使用方法如下
1
2
3
4
5
6
7
8
|
[root@uyhd000225 testDir]
# cat testcolumn
Jackie | 18 | male
Helen | 20 | female
Daniel Liu | 23 | male
[root@uyhd000225 testDir]
# cat testcolumn | column -s '|' -t
Jackie 18 male
Helen 20 female
Daniel Liu 23 male
|