pt-align
将其他工具的输出按列对齐,使其更易阅读。
语法
pt-align [FILES]pt-align 将其他工具的输出按列对齐。若未指定 FILES,则从标准输入(STDIN)读取。
例如某工具打印如下输出:
DATABASE TABLE ROWS
foo bar 100
long_db_name table 1
another long_name 500pt-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 行,假定其为首个非表头行。
- 根据各列内容是否为数字,决定每列的对齐方式(数字右对齐、文本左对齐)。
- 计算每列的宽度后按对齐格式重新输出。
典型用途是对齐 vmstat、iostat 等工具的输出,使其更易阅读。
风险提示
Percona Toolkit 成熟、久经考验且经过充分测试,但任何数据库工具都可能给系统和数据库服务器带来风险。使用本工具前请:
- 阅读工具文档;
- 查看工具已知的 "BUGS";
- 在非生产服务器上先行测试;
- 备份生产服务器并验证备份可用。
选项
| 选项 | 说明 |
|---|---|
--[no]buffer-stdout | 默认 yes。启用 STDOUT 缓冲。若需在配合 tee、kubectl logs 等输出后处理工具时实时查看进度,可禁用该选项。 |
--help | 显示帮助并退出。 |
--version | 显示版本并退出。 |
其他信息
ENVIRONMENT:本工具不使用任何环境变量。
通用说明:已知问题的反馈方式、PTDEBUG 调试安全提示、系统要求基线,见 通用说明。
更多细节请阅读 官方文档。