column
按列格式化輸出文件
概要
1column [options] [file ...]
主要用途
- 將單列數據整理爲多列顯示,每行寬度可以指定,超出的部分自動換行。
- 將多列數據進行快速整理,對齊每列的字符。
參數
file(可選),當沒有指定文件時,默認會從標準輸入讀取,因此可以配合管道符使用。
選項
1-c, --columns <width> 輸出寬度(以字符數表示)
2-t, --table 創建一個表格(每列字符會對齊)
3-s, --separator <string> 指定識別表格的分隔符
4-o, --output-separator <string> 輸出表格的列分隔符,默認爲兩個空格
5-x, --fillrows 在列之前填充行
6-h, --help 顯示此幫助
7-V, --version 輸出版本信息
返回值
格式化排列後的字符串。
示例
- 整理單列數據
1# 生成 26 個英文字母, 每列一個
2$ for a in {a..z}; do echo $a; done > test
3
4# 每行最大 60 個字符
5$ cat test | column -c 60
6a e i m q u y
7b f j n r v z
8c g k o s w
9d h l p t x
10
11# 在上面的基礎上,進一步整理,每列之間寬度默認兩個空白符
12$ cat test | column -c 60 | column -t
13a e i m q u y
14b f j n r v z
15c g k o s w
16d h l p t x
17
18# 指定每列之間用 ', ' 拼接
19$ cat test | column -c 60 | column -t -o ', '
20a, e, i, m, q, u, y
21b, f, j, n, r, v, z
22c, g, k, o, s, w
23d, h, l, p, t, x
- 整理多列數據
1# 現有如下內容較爲凌亂的文本文件 test
2$ cat test
3Address[0] Metal3,pin 133.175:159.92
4Address[1] Metal3,pin 112.38:159.92
5Address[2] Metal3,pin 70.775:159.92
6Address[3] Metal3,pin 41.655:159.92
7DataIn[0] Metal3,pin 66.615:159.92
8DataIn[1] Metal3,pin 37.495:159.92
9DataIn[2] Metal3,pin 122.88:159.92
10DataIn[3] Metal3,pin 95.74:159.92
11DataOut[0] Metal3,pin 45.815:159.92
12DataOut[1] Metal3,pin 79.095:159.92
13DataOut[2] Metal3,pin 104.055:159.92
14DataOut[3] Metal3,pin 62.46:159.92
15MemReq Metal3,pin 108.215:159.92
16RdWrBar Metal3,pin 87.415:159.92
17clock Metal3,pin 74.935:159.92
18
19# 列對齊
20$ cat test | column -t
21Address[0] Metal3,pin 133.175:159.92
22Address[1] Metal3,pin 112.38:159.92
23Address[2] Metal3,pin 70.775:159.92
24Address[3] Metal3,pin 41.655:159.92
25DataIn[0] Metal3,pin 66.615:159.92
26DataIn[1] Metal3,pin 37.495:159.92
27DataIn[2] Metal3,pin 122.88:159.92
28DataIn[3] Metal3,pin 95.74:159.92
29DataOut[0] Metal3,pin 45.815:159.92
30DataOut[1] Metal3,pin 79.095:159.92
31DataOut[2] Metal3,pin 104.055:159.92
32DataOut[3] Metal3,pin 62.46:159.92
33MemReq Metal3,pin 108.215:159.92
34RdWrBar Metal3,pin 87.415:159.92
35clock Metal3,pin 74.935:159.92
36
37# 將 ',' 和 ':' 也識別爲分隔符
38$ cat test | column -t -s ',: '
39Address[0] Metal3 pin 133.175 159.92
40Address[1] Metal3 pin 112.38 159.92
41Address[2] Metal3 pin 70.775 159.92
42Address[3] Metal3 pin 41.655 159.92
43DataIn[0] Metal3 pin 66.615 159.92
44DataIn[1] Metal3 pin 37.495 159.92
45DataIn[2] Metal3 pin 122.88 159.92
46DataIn[3] Metal3 pin 95.74 159.92
47DataOut[0] Metal3 pin 45.815 159.92
48DataOut[1] Metal3 pin 79.095 159.92
49DataOut[2] Metal3 pin 104.055 159.92
50DataOut[3] Metal3 pin 62.46 159.92
51MemReq Metal3 pin 108.215 159.92
52RdWrBar Metal3 pin 87.415 159.92
53clock Metal3 pin 74.935 159.92
來源:https://github.com/jaywcjlove/linux-command
最後修改於: Wednesday, January 31, 2024
版權申明:
- 未標註來源的內容皆為原創,未經授權請勿轉載(因轉載後排版往往錯亂、內容不可控、無法持續更新等);
- 非營利為目的,演繹本博客任何內容,請以'原文出處'或者'參考鏈接'等方式給出本站相關網頁地址(方便讀者)。