首页/系统/Linux 运维命令速查/column 对齐成表格
文本处理77 条

column 对齐成表格

把文本整理成对齐的列:column -t 自动按空白分隔,-s 指定输入分隔符(如逗号),-o 指定输出分隔符,看报表舒服多了。

Linux 运维命令速查系统更新于 2026-10-13

column 是什么

column 把散乱文本整理成对齐的列,最常用的是 -t(表格模式,按分隔符切列并自动对齐),-s 指定输入分隔符,-o 指定输出分隔符。它的目标不是生成严格表格,而是让终端输出与人眼阅读友好。

基本信息

适用平台Linux(util-linux 提供);BSD 版部分选项与行为有差异
命令语法column [选项] [文件]
常用选项-t 表格模式、-s 输入分隔符、-o 输出分隔符、-c 显示宽度
输入来源文件参数或标准输入

典型使用场景

  • 看 CSV 或 TSV:把分隔符文本对齐显示,快速扫读字段
  • 命令输出美化:mount、ps 这类列宽不一的输出对齐后更易读
  • 生成简单报表:把 awk 处理结果对齐后贴给同事
  • 核对字段数:对齐后一眼就能看出某些行缺字段
  • 组织邮件正文:纯文本邮件用对齐表格比原始输出清楚得多

常用示例

常用示例
column -t -s, report.csv                      # CSV 转对齐表格
column -t -s $'\t' -o ' | ' data.tsv           # TSV 输入,管道符分隔输出
mount | column -t                              # 挂载表对齐显示
ps -eo pid,comm,%mem --no-headers | sort -k3 -rn | head | column -t
awk -F: '{print $1","$3}' /etc/passwd | column -t -s,

选项对照

选项作用说明
-t表格模式,按 -s 切列并对齐不加 -t 时是多列填充排版
-s 分隔符指定输入分隔符不指定时按任意空白序列切分
-o 字符串指定输出分隔符默认用空格补齐列宽
-c 宽度指定输出宽度自动检测失败时手动指定
文件参数从文件读取省略时读标准输入
不指定 -s 时按任意连续空白切分,字段内部含空格的文本会被切成多列,先明确分隔符是关键。
column -t 需要读完全部输入才能计算列宽,超大文件会产生明显内存与延迟开销,先取样或改用专业表格工具。
对齐效果依赖等宽字体,复制到聊天工具或邮件客户端常会错位,重要报表建议改用真正的表格格式。
列宽由终端宽度决定,用 -c 指定更宽的宽度时列内换行与截断规则也跟着变;整行内容很长的场景,对齐出来的效果反而更难读,这种数据适合 cut 取字段后再分页查看。输入里混用制表符与空格时列边界会漂移。

易错点

  • -s 未指定时按任意空白切列,含空格的字段会被拆错,CSV 类输入必须先明确分隔符
  • 等宽字体之外对齐会失真,把输出贴进聊天窗口常错位,关键报表别依赖它
  • 全量读取输入决定内存占用,几十万行的大文件不要直接交给它处理
  • BSD 与 macOS 版本的选项集合不同,跨平台脚本要先探测可用参数
  • 把 column 的对齐输出当作后续脚本的输入:空格数量以对齐为目的,用 awk 默认分隔符解析时列数会随终端宽度变化,脚本应回到原始数据源的明确分隔符

数据来源与参考

  • man 1 column(util-linux 手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌