Linux column 命令 - 格式化文本内容为表格列
column(英文名称为:column) 命令的功能是将文本输入格式化为多列布局的数据,可将输入数据转换为对齐的表格形式输出。它的主要作用是处理 CSV 数据、等结构化文本,可以通过分列显著提升文件的可读性。
column 命令语法结构
column 命令的基本语法结构如下所示:
column [OPTIONS] [FILE...]
[FILE...]:需要处理的文件,可以同时指定多个文件,如果没有指定任何文件,则从标准输入读取内容[OPTIONS]:控制格式化输出的选项
column 命令的使用示例
1. 以多列的形式查看目录文件
把目录的文件信息使用管道传递给 column,可以以多列的形式查看文件信息:
ls /bin | column
输出类似如下信息:
[ jq rime_deployer
aa-enabled js rime_dict_manager
aa-exec jsesc rime_patch
aa-features-abi json5 rimraf
ab json_pp rm
acorn json_xs rmdir
......
2. 把 CSV 数据转换为表格形式
使用 -s 选项指定输入内容的分隔符,使用 -t 选项指定输出形式为自动对齐形式的表格数据,
echo -e "ID,姓名\n101,张三\n102,李四" | column -t -s ","
输出内容的形式为:
ID 姓名
101 张三
102 李四
命令选项详解
如下给出 column 命令相关选项的详细解释说明:
| 选项 | 说明 |
|---|---|
-t, --table |
输出为自动对齐形式的表格数据 |
-s SEP, --separator SEP |
指定输入信息每列使用的分隔符,默认为空格 |
-o SEP, --output-separator SEP |
指定在输出信息中每列使用的分隔符,默认为两个空格 |
-c WIDTH, --output-width WIDTH |
设置输出字符串的宽度 |
-N NAME,..., --table-name NAME,... |
指定列名信息 |
-l NUM, --table-columns-limit NUM |
限制最大的列数 |
-H COL, --table-hide COL |
隐藏指定列, 列号从1开始计算 |
-O COL,--table-order COL |
指定列显示的顺序 |
-R COL, --table-right COL |
右对齐指定的列 |
-E NUM, --table-empty-lines NUM |
是否处理空行(0表示忽略,1表示保留) |
-x, --fillrows |
按行填充内容(默认是按列填充的) |
-e, --table-noextreme |
禁用列宽调整 |
-d, --table-noheadings |
不输出列的名称 |
-J, --json |
使用 JSON 格式输入数据 |
-r, --tree |
在列中使用树状结构显示 |
-h, --help |
显示帮助信息 |
-V, --version |
显示版本信息 |
结语
column 命令是一个实现文本数据表格化的一个工具。它的主要作用是处理 CSV 数据、等结构化文本,可以通过分列显著提升文件的可读性。在本文中我们介绍了 column 命令的语法结构,以及使用示例,最后给出了选项的详细解释说明,内容非常的全面。 column 命令在 Linux 各发行版和 FreeBSD 系统中都能够使用