UNPKG

3.57 kBMarkdownView Raw
1column
2===
3
4按列格式化输出文件
5
6## 概要
7
8```shell
9column [options] [file ...]
10```
11
12## 主要用途
13
14- 将单列数据整理为多列显示,每行宽度可以指定,超出的部分自动换行。
15- 将多列数据进行快速整理,对齐每列的字符。
16
17## 参数
18
19file(可选),当没有指定文件时,默认会从标准输入读取,因此可以配合管道符使用。
20
21## 选项
22
23```shell
24-c, --columns <width> 输出宽度(以字符数表示)
25-t, --table 创建一个表格(每列字符会对齐)
26-s, --separator <string> 指定识别表格的分隔符
27-o, --output-separator <string> 输出表格的列分隔符,默认为两个空格
28-x, --fillrows 在列之前填充行
29-h, --help 显示此帮助
30-V, --version 输出版本信息
31```
32
33## 返回值
34
35格式化排列后的字符串。
36
37## 示例
38
39- 整理单列数据
40
41```shell
42# 生成 26 个英文字母, 每列一个
43$ for a in {a..z}; do echo $a; done > test
44
45# 每行最大 60 个字符
46$ cat test | column -c 60
47a e i m q u y
48b f j n r v z
49c g k o s w
50d h l p t x
51
52# 在上面的基础上,进一步整理,每列之间宽度默认两个空白符
53$ cat test | column -c 60 | column -t
54a e i m q u y
55b f j n r v z
56c g k o s w
57d h l p t x
58
59# 指定每列之间用 ', ' 拼接
60$ cat test | column -c 60 | column -t -o ', '
61a, e, i, m, q, u, y
62b, f, j, n, r, v, z
63c, g, k, o, s, w
64d, h, l, p, t, x
65```
66
67- 整理多列数据
68
69```shell
70# 现有如下内容较为凌乱的文本文件 test
71$ cat test
72Address[0] Metal3,pin 133.175:159.92
73Address[1] Metal3,pin 112.38:159.92
74Address[2] Metal3,pin 70.775:159.92
75Address[3] Metal3,pin 41.655:159.92
76DataIn[0] Metal3,pin 66.615:159.92
77DataIn[1] Metal3,pin 37.495:159.92
78DataIn[2] Metal3,pin 122.88:159.92
79DataIn[3] Metal3,pin 95.74:159.92
80DataOut[0] Metal3,pin 45.815:159.92
81DataOut[1] Metal3,pin 79.095:159.92
82DataOut[2] Metal3,pin 104.055:159.92
83DataOut[3] Metal3,pin 62.46:159.92
84MemReq Metal3,pin 108.215:159.92
85RdWrBar Metal3,pin 87.415:159.92
86clock Metal3,pin 74.935:159.92
87
88# 列对齐
89$ cat test | column -t
90Address[0] Metal3,pin 133.175:159.92
91Address[1] Metal3,pin 112.38:159.92
92Address[2] Metal3,pin 70.775:159.92
93Address[3] Metal3,pin 41.655:159.92
94DataIn[0] Metal3,pin 66.615:159.92
95DataIn[1] Metal3,pin 37.495:159.92
96DataIn[2] Metal3,pin 122.88:159.92
97DataIn[3] Metal3,pin 95.74:159.92
98DataOut[0] Metal3,pin 45.815:159.92
99DataOut[1] Metal3,pin 79.095:159.92
100DataOut[2] Metal3,pin 104.055:159.92
101DataOut[3] Metal3,pin 62.46:159.92
102MemReq Metal3,pin 108.215:159.92
103RdWrBar Metal3,pin 87.415:159.92
104clock Metal3,pin 74.935:159.92
105
106# 将 ',' 和 ':' 也识别为分隔符
107$ cat test | column -t -s ',: '
108Address[0] Metal3 pin 133.175 159.92
109Address[1] Metal3 pin 112.38 159.92
110Address[2] Metal3 pin 70.775 159.92
111Address[3] Metal3 pin 41.655 159.92
112DataIn[0] Metal3 pin 66.615 159.92
113DataIn[1] Metal3 pin 37.495 159.92
114DataIn[2] Metal3 pin 122.88 159.92
115DataIn[3] Metal3 pin 95.74 159.92
116DataOut[0] Metal3 pin 45.815 159.92
117DataOut[1] Metal3 pin 79.095 159.92
118DataOut[2] Metal3 pin 104.055 159.92
119DataOut[3] Metal3 pin 62.46 159.92
120MemReq Metal3 pin 108.215 159.92
121RdWrBar Metal3 pin 87.415 159.92
122clock Metal3 pin 74.935 159.92
123```