将表格数据格式化为适用于Telegram的ASCII表格。纯标准输入杜绝shell注入风险。支持智能列宽、自动换行及适配等宽字体的填充。
Telegram ASCII Tables.是一项面向实际任务的技能,主要用于Format 表格数据作为 ASCII 框绘图表格,在Telegram 代码块中正确渲染;QQ 快速启动;
使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
将表格数据格式化为 ASCII 边框绘图表格,使其在 Telegram 的代码块中正确渲染。
{baseDir}/scripts/ascii-table.py <<'EOF'
Name|Value|Status
Server|web-01|Online
Database|db-01|Syncing
EOF
发送至 Telegram 时,请将输出内容用三重反引号(```)包裹。
# 桌面模式(默认):Unicode 边框字符,宽度 58 字符 ascii-table <<'EOF' Server|Status|Uptime web-01|Online|14d 3h db-01|Syncing|2d 12h EOF # 移动端模式:ASCII 字符(+、- 等),宽度 48 字符 ascii-table --mobile <<'EOF' Task|Status Deploy|Done Test|Pending EOF # 自定义宽度 ascii-table --width 80 <<'EOF' Column|Another Column data|more data EOF
cat data.txt | ascii-table echo -e 'Name|ValuenRow1|Data1' | ascii-table some-command | ascii-table --mobile
┌───────────┬───────┬────────────────────────────────────────────┐ │ Flag │ Short │ Description │ ├───────────┼───────┼────────────────────────────────────────────┤ │ --desktop │ -d │ Unicode 边框字符,宽度 58 字符(默认) │ ├───────────┼───────┼────────────────────────────────────────────┤ │ --mobile │ -m │ ASCII 字符,宽度 48 字符 │ ├───────────┼───────┼────────────────────────────────────────────┤ │ --width N │ -w N │ 覆盖默认宽度 │ └───────────┴───────┴────────────────────────────────────────────┘
┌───────────────┬──────────────────────┬─────────────────────┐ │ Aspect │ Desktop(默认) │ Mobile │ ├───────────────┼──────────────────────┼─────────────────────┤ │ Characters │ Box drawing 字符 │ ASCII 字符(+、- 等)│ ├───────────────┼──────────────────────┼─────────────────────┤ │ Default width │ 58 字符 │ 48 字符 │ ├───────────────┼──────────────────────┼─────────────────────┤ │ Rendering │ 桌面端显示整洁 │ 全平台兼容性更可靠 │ ├───────────────┼──────────────────────┼─────────────────────┤ │ Use when │ 接收方使用桌面版 Telegram │ 接收方使用移动端 Telegram │ └───────────────┴──────────────────────┴─────────────────────┘
Unicode 边框绘图字符在移动端 Telegram 中渲染宽度不一致。如目标用户为移动端,请使用 --mobile 参数。
| 分隔┌──────────┬──────────┬──────────┐ │ Server │ Status │ Uptime │ ├──────────┼──────────┼──────────┤ │ web-01 │ Online │ 14d 3h │ ├──────────┼──────────┼──────────┤ │ db-01 │ Syncing │ 2d 12h │ └──────────┴──────────┴──────────┘
+------------+----------+----------+ | Server | Status | Uptime | +------------+----------+----------+ | web-01 | Online | 14d 3h | +------------+----------+----------+ | db-01 | Syncing | 2d 12h | +------------+----------+----------+
┌─────────┬────────┬──────────────────────────────────────┐ │ Task │ Status │ Notes │ ├─────────┼────────┼──────────────────────────────────────┤ │ Deploy │ Done │ Rolled out to prod successfully │ │ API │ │ │ ├─────────┼────────┼──────────────────────────────────────┤ │ Fix bug │ WIP │ Waiting on upstream OAuth fix │ └─────────┴────────┴──────────────────────────────────────┘
该脚本**刻意不接受**将行数据作为命令行参数传入。
Shell 对命令行参数的解析发生在**任何脚本运行之前**。例如,在双引号包围的参数中出现的反引号(`)、美元符号($)和感叹号(!)等字符,会在参数传递给脚本前即被 Shell 执行或展开——而非由脚本本身处理。举例来说,`whoami` 会被 Shell 先执行,并将其输出结果替换进命令中,脚本最终收到的只是执行后的字符串,而非原始字面量。
通过强制要求从 stdin 读取输入,用户数据可完全绕过 Shell 解析阶段。带引号的 here document(如 <<'EOF')会将所有内容原样传递,无需转义,也杜绝了意外执行的风险。
| 分隔(该字符不可出现在单元格内容中)相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习