Skip to content

pt-align

将其他工具的输出按列对齐,使其更易阅读。

语法

pt-align [FILES]

pt-align 将其他工具的输出按列对齐。若未指定 FILES,则从标准输入(STDIN)读取。

例如某工具打印如下输出:

DATABASE TABLE   ROWS
foo      bar      100
long_db_name table  1
another  long_name 500

pt-align 会将其重新输出为:

DATABASE     TABLE     ROWS
foo          bar        100
long_db_name table        1
another      long_name  500

用法示例

pt-align 不连库、不涉及密码,仅做文本列对齐,命令可直接复制运行。它把空格分隔的、列宽不齐的工具输出重新按列对齐,方便肉眼阅读。

场景:对齐 vmstat 输出

vmstat 连续采样时列经常对不齐,管道接 pt-align 立刻变整齐:

bash
vmstat 1 5 | pt-align

场景:对齐 iostat 输出

磁盘监控 iostat -dx 的字段很多、默认也参差,对齐后更好比对各盘差异:

bash
iostat -dx 1 3 | pt-align

场景:对齐 MySQL 文本结果

mysql -e 默认是制表符分隔、列宽不齐,把查询结果管道接 pt-align 后更易扫读(尤其列多的 SHOW 语句):

bash
mysql -e "SHOW TABLE STATUS" mydb | pt-align

场景:对齐已落盘的日志片段

已经抓到一份对齐糟糕的输出文件,事后用文件参数重新整理:

bash
pt-align saved-output.txt

功能说明

  • 逐行读取输入并拆分为单词。
  • 统计每行的单词数,若某个数量占多数,则假定这就是每行的单词数。
  • 丢弃单词数不符合的行,然后查看第一条符合行之后的第 2 行,假定其为首个非表头行。
  • 根据各列内容是否为数字,决定每列的对齐方式(数字右对齐、文本左对齐)。
  • 计算每列的宽度后按对齐格式重新输出。

典型用途是对齐 vmstatiostat 等工具的输出,使其更易阅读。

风险提示

Percona Toolkit 成熟、久经考验且经过充分测试,但任何数据库工具都可能给系统和数据库服务器带来风险。使用本工具前请:

  • 阅读工具文档;
  • 查看工具已知的 "BUGS";
  • 在非生产服务器上先行测试;
  • 备份生产服务器并验证备份可用。

选项

选项说明
--[no]buffer-stdout默认 yes。启用 STDOUT 缓冲。若需在配合 teekubectl logs 等输出后处理工具时实时查看进度,可禁用该选项。
--help显示帮助并退出。
--version显示版本并退出。

其他信息

  • ENVIRONMENT:本工具不使用任何环境变量。

  • 通用说明:已知问题的反馈方式、PTDEBUG 调试安全提示、系统要求基线,见 通用说明

更多细节请阅读 官方文档

Percona Toolkit 中文文档 · 社区维护的第三方学习站