尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Linux命令:column

Linux命令:column column 命令基本介绍column用于将文本按列格式化输出使不规则的文本或命令输出更易阅读。它可以根据输入内容自动调整列宽也可以将分隔符分隔的数据转换为表格。资料合集https://pan.quark.cn/s/6fe3007c3e95、https://pan.quark.cn/s/561de99256a5、https://pan.quark.cn/s/985f55b13d94、https://pan.quark.cn/s/d0fb20abd19a语法column[选项][文件...]不指定文件时从标准输入读取。指定文件时读取文件内容并格式化输出。常用选项-t、--table将输入按表格格式输出并自动对齐各列。-s 分隔符、--separator 分隔符指定输入字段分隔符常与-t配合使用。-o 分隔符、--output-separator 分隔符指定输出列之间的分隔符。-c 宽度、--columns 宽度指定终端或输出的最大列宽。-x、--fillrows按行填充而不是默认的按列填充。-e、--table-empty-lines在表格模式下保留空行。-N 列名、--table-columns 列名为表格指定列名。-R 列号、--table-right 列号将指定列右对齐。-L 列号、--table-left 列号将指定列左对齐。-T 列号、--table-truncate 列号允许指定列内容过长时截断。-W 列号、--table-wrap 列号允许指定列内容换行。--table-hide 列号隐藏指定列。--table-noextreme不将极端长度字段用于计算列宽。--table-noheadings不将首行作为表头处理。--table-right使指定表格列右对齐。--help显示帮助信息。--version显示版本信息。注意-t、-s、-o是最常用且兼容性较好的选项表格高级选项主要取决于util-linux版本。基本用法1. 将列表排列成多列printf%s\napple banana cherrydateelderberry fig grape|columncolumn会根据终端宽度将列表排成多列。2. 按行填充printf%s\napple banana cherrydateelderberry fig|column-x默认情况下通常按列填充-x改为按行填充。3. 将制表符数据格式化为表格printfName\tAge\nAlice\t20\nBob\t25\n|column-t输出示例Name Age Alice 20 Bob 254. 指定输入分隔符printfAlice,20\nBob,25\n|column-t-s,输出示例Alice 20 Bob 255. 指定输出分隔符printfAlice,20\nBob,25\n|column-t-s,-o | 输出示例Alice | 20 Bob | 256. 格式化命令输出ps-eopid,comm,%cpu,%mem --no-headers|column-t适合将空白分隔的多列输出对齐显示。7. 格式化文件内容column-t-s:/etc/passwd可将冒号分隔的数据对齐为表格。处理敏感文件时应注意输出中可能包含用户名、路径等信息。8. 读取文件并限制列宽column-t-c80data.tsv将表格格式化到指定宽度范围内。表格模式较新的util-linux版本支持更丰富的表格模式选项。1. 指定列名printfalice\t20\n bob\t25\n|column-t-NName,Age2. 指定列对齐方式printfalice\t20\nbob\t25\n|column-t-NName,Age-R2第 2 列按右侧对齐适合数字数据。3. 隐藏指定列printfalice\tsecret\n bob\tsecret2\n|column-t-NName,Token --table-hide24. 截断过长内容printfName\tDescription\nalice\tThis is a very long description\n|column-t-T2不同util-linux版本的短选项含义可能存在差异使用前可运行column --help确认。在脚本中使用生成简单报告#!/bin/bashset-euopipefailprintfService\tStatus\tPort\nprintfnginx\trunning\t80\nprintfssh\trunning\t22\nprintfmysql\tstopped\t3306\n|column-t处理 CSV 数据#!/bin/bashset-euopipefail{printfUser,Department,Status\nprintfalice,Engineering,Active\nprintfbob,Sales,Inactive\n}|column-t-s,-o | 配合管道查看磁盘使用情况df-h|column-t将表格保存到文件printfName\tScore\nAlice\t95\nBob\t88\n|column-treport.txt与相关命令的对比命令主要功能适用场景column对齐多列文本、生成终端表格快速美化输出printf精确控制格式稳定生成固定格式报告awk字段处理和格式化复杂数据转换paste横向合并文件合并对应行sort排序先排序再格式化jq处理 JSON结构化 JSON 数据csvlook查看 CSV 表格复杂 CSV 展示column与awk的区别column重点是对齐和展示不负责复杂的数据计算。awk可以按字段过滤、计算、转换然后将结果交给column对齐。常见组合方式awk-F:{print $1 \t $3}/etc/passwd|column-tcolumn与printf的区别printf适合列宽和格式完全固定的输出。column会根据实际内容自动计算列宽更适合交互式查看。需要稳定供其他程序解析的输出时不应依赖自动对齐后的空格。注意事项column主要用于人类阅读不建议将格式化后的空格对齐文本作为机器接口输入。使用-t -s时输入字段中包含分隔符可能导致列解析结果不符合预期。不同 Linux 发行版或util-linux版本支持的选项可能不同建议先查看column --help。多字节字符、中文和终端宽度可能影响列宽计算部分版本对宽字符的处理存在差异。CSV 文件可能包含带引号的分隔符、换行和转义内容复杂 CSV 不应直接用column -s ,解析。输出敏感数据前应确认表格中没有密码、令牌或其他机密信息。可通过man column查看当前系统的完整手册。相关命令awk按字段处理和格式化文本。printf生成精确格式的表格输出。paste按列合并多个文件。sort排序后交给column格式化。jq格式化和查询 JSON 数据。pr分页并按列打印文本。expand将制表符转换为空格。总结column是一个简单实用的文本表格格式化工具可以自动调整列宽、对齐字段并改善终端输出的可读性。最常用的组合是column -t -s 分隔符先指定字段分隔符再将数据排列为表格。它适合临时查看和生成报告但不适合替代专业 CSV 解析器也不应将其对齐后的输出作为稳定的机器接口。
返回列表