首页 > 教程 > Linux 命令手册 > Linux column 命令 - 格式化文本内容为表格列

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 系统中都能够使用