当你看到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 testcolumnJackie | 18 | maleHelen | 20 | femaleDaniel Liu | 23 | male[root@uyhd000225 testDir]# cat testcolumn | column -s '|' -tJackie 18 maleHelen 20 femaleDaniel Liu 23 male |