ZeroTermux 内嵌 Linux 命令手册解读:expand 命令将制表符转换为空格
移动开发开发工具【免费下载链接】ZeroTermux项目地址https://gitcode.com/GitHub_Trending/ze/ZeroTermux点击查看免费下载导读在终端里处理文本时缩进混乱、TAB 与空格混用是常见的痛点。本文围绕 ZeroTermux 内置命令手册中的 expand 命令文档系统讲解expand的核心语法、选项与参数含义并延伸到其反向命令unexpand最后结合 CommandDialog.java 说明这份手册在 ZeroTermux 应用内是如何被加载与渲染的。读完本文你将掌握 TAB 与空格相互转换的标准操作并能直接在 Termux 会话或脚本中复用这些命令。一、expand 命令是什么expand 命令用于将给定文件中的制表符TAB\t转换为空白字符space并把转换后的结果显示到标准输出设备即显示终端。原始文件本身不会被修改输出全部走标准输出因此你可以随时通过重定向将结果写入新文件。它的典型应用场景包括统一代码缩进风格将混用 TAB 与空格的文件统一为纯空格缩进兼容对制表符敏感的展示环境如某些网页pre块、邮件正文配合管道与其他文本工具如cut、awk、sed做预处理避免 TAB 宽度不一致导致列解析错位。在 ZeroTermux 的命令手册体系中unexpand 命令文档 记录了与之方向相反的转换二者可以视为一对配套命令。二、语法expand(选项)(参数)选项用于控制制表符的展开宽度等行为参数即要处理的文件名。三、选项说明-t数字指定制表符所代表的空白字符的个数而不使用默认的8。默认情况下expand将每个 TAB 视为占8个字符宽度来展开这也是文档与 GNU 工具链的常见默认值通过-t数字可自定义展开宽度例如-t4表示每个 TAB 展开为 4 个空格该选项对制表符宽度敏感的场景如对齐表格、缩进层级较浅的源码非常关键同一份文件在 8 字符宽度与 4 字符宽度下展开的结果是不同的。提示由于expand输出到标准输出实际使用时常配合重定向例如expand -t4 input.txt output.txt。若需要原地处理多个文件可将输出回写至临时文件再覆盖原文件GNU coreutils 并未为 expand 提供-i式原地编辑开关此点与sed -i不同。四、参数说明文件指定要转换制表符为空白的文件。一次可传入单个或多个文件多个文件的内容会按顺序串联输出到标准输出若省略文件或使用-则从标准输入读取数据这使得expand可以自然地嵌入管道流程例如cat source.txt | expand -t4五、实战示例结合手册内容下面给出可直接在 ZeroTermux 终端中运行的组合示例1. 将文件中的 TAB 按默认 8 宽度展开并显示expand demo.txt2. 将 TAB 展开为 4 个空格并保存为新文件expand -t4 demo.txt demo_spaces.txt3. 与反向命令 unexpand 配合实现缩进风格规范化先展开为空格再按 8 宽度压缩回 TABexpand demo.txt | unexpand -t8 demo_tabs.txt关于unexpand的更多细节如-a/--all、--first-only、-tN等选项可直接查阅仓库中的 unexpand 命令文档。六、反向命令 unexpand空格转回制表符仓库内的 unexpand 命令文档 记录了expand的镜像操作用于将空白字符space转换为制表符TAB其选项与expand呼应-a或--all转换文件中所有的空白字符 --first-only仅转换开头的空白字符 -tN指定TAB所代表的N个N为整数字符数默认N值是8。两个命令配合使用可以在以空格存储、以 TAB 传输/展示之间自由切换适合对磁盘占用或传输体积有要求、同时又要保持缩进语义的场景。七、源码级佐证这份手册在 ZeroTermux 中如何被使用ZeroTermux 在应用内直接内嵌了这份命令手册。从源码 CommandDialog.java 可以看到完整链路命令列表加载initData()通过AssetManager.list(cmd)读取 assets 中cmd/目录下的全部.md文件名expand、unexpand等均在其中填充进 RecyclerView 列表见 CommandDialog.java#L102-L111搜索过滤TextWatcher在输入框内容变化时按关键字过滤命令名并忽略大小写排序见 CommandDialog.java#L134-L177Markdown 渲染showCmdDetail()使用 CommonMark 解析器org.commonmark读取cmd/命令名文档渲染为 HTML 后通过 WebView 展示见 CommandDialog.java#L249-L262。也就是说本文解读的 expand.md 就是应用内命令手册功能直接展示的原文档你在终端里实际执行expand命令时命令行为由系统自带的 GNU coreutilsTermux 软件包coreutils提供负责手册则负责解释其用法。八、注意事项输出不落盘expand只向标准输出写结果不改动源文件需自行用重定向保存默认宽度 8若你的编辑器或代码风格使用 4 空格缩进务必显式指定-t4否则展开结果可能与预期不符多文件串联传入多个文件时输出顺序即文件参数顺序反向操作有差异unexpand默认只转换开头的空白字符若需转换全部空白请加-a或--all详见 unexpand 命令文档。总结expand是处理文本缩进的一把精确标尺一条命令即可把 TAB 按指定宽度统一成空格配合重定向与管道即可融入任意处理链。借助 ZeroTermux 内置的这份命令手册以及配套的unexpand你可以在手机上随时查阅并实践这些文本处理技巧让脚本与配置文件的缩进风格保持一致。赞分享移动开发开发工具【免费下载链接】ZeroTermux项目地址https://gitcode.com/GitHub_Trending/ze/ZeroTermux点击查看免费下载相关推荐linux-command 命令手册详解expand 制表符转空格工具实战指南linux command 命令手册详解expand 制表符转空格工具实战指南 导读 expand 是 Linux 系统中用于将文件里的制表符TAB批量转文档教程ZeroTermux 内置命令手册解读Linux col 命令——文本控制字符过滤的原理与实战ZeroTermux 内置命令手册解读Linux col 命令——文本控制字符过滤的原理与实战 col 是 Linux/UNIX 下经典的标准输入文本过滤器移动开发开发工具ZeroTermux 内置 Linux 命令手册解读compress 命令的 LZW 压缩机制与实战用法ZeroTermux 内置 Linux 命令手册解读compress 命令的 LZW 压缩机制与实战用法 导读 compress 是一个历史悠久的 Unix移动开发开发工具上一篇RoboTwin 2.0双臂机器人数字孪生平台的技术架构深度解析下一篇Jib Core 深入指南用纯 Java 库构建 Docker 与 OCI 容器镜像创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Vibe Coding 产品变现第一课:动手前先想清楚“为什么做“,用四问框架做出高性价比的产品决策

Vibe Coding 产品变现第一课:动手前先想清楚“为什么做“,用四问框架做出高性价比的产品决策

文档教程知识库人工智能 【免费下载链接】ai-guide 程序员鱼皮的 AI 资源大全 Vibe Coding 零基础教程,分享 OpenClaw 保姆级教程、大模型玩法(DeepSeek / GPT / Gemini / Claude / GLM)、最新 AI 资讯、Prompt 提示词大全、AI 知识百科&…

2026/10/4 13:40:58 阅读更多 →
哪款ai写小说软件最好用?2026年10款ai写小说软件深度测评:从TaoToken统一API接入实测

哪款ai写小说软件最好用?2026年10款ai写小说软件深度测评:从TaoToken统一API接入实测

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 13:40:58 阅读更多 →
产品经理的 Claude Code 免费教程——模块 3:Nano Banana(AI 图像生成)接入 TaoToken 统一 API 通道

产品经理的 Claude Code 免费教程——模块 3:Nano Banana(AI 图像生成)接入 TaoToken 统一 API 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 13:39:58 阅读更多 →

最新新闻

ESP32-P4+C5双芯驱动:不堆模块,这块屏自己就是网关

ESP32-P4+C5双芯驱动:不堆模块,这块屏自己就是网关

1. 这块屏凭什么敢叫自己网关第一次看到“ESP32-P4ESP32-C5双芯驱动,不用堆模块,这块屏自己就是网关”这个说法,我脑子里蹦出来的第一个念头是:又来了,又是一个把“带Wi-Fi的屏幕”包装成“网关”的营销话术。毕竟这些…

2026/10/4 15:15:55 阅读更多 →
MRAM+PIC32MZ工业非易失存储系统设计实战

MRAM+PIC32MZ工业非易失存储系统设计实战

1. 项目概述:为什么在工业现场还要自己搭一套非易失存储系统?MR25H40CDF 和 PIC32MZ2048EFM064 这组组合,乍看像两颗“老派”芯片——前者是 Macronix 推出的 4Mb 串行 MRAM(磁阻随机存取存储器),后者是 Mi…

2026/10/4 15:15:55 阅读更多 →
拆解 floorplan-3d 单文件架构:2600 行 HTML 里的完整 2D/3D 户型设计工具是怎么组织的

拆解 floorplan-3d 单文件架构:2600 行 HTML 里的完整 2D/3D 户型设计工具是怎么组织的

拆解 floorplan-3d 单文件架构:2600 行 HTML 里的完整 2D/3D 户型设计工具是怎么组织的 【免费下载链接】floorplan-3d 项目地址: https://gitcode.com/gh_mirrors/fl/floorplan-3d floorplan-3d 是一个纯前端的 2D/3D 户型设计工具:在 SVG 平面…

2026/10/4 15:15:55 阅读更多 →
MRAM+Arm Cortex-M85工业数据存储方案实战解析

MRAM+Arm Cortex-M85工业数据存储方案实战解析

1. 项目概述:为什么在工业现场要用 MR25H40CDF 配 R7FA8M1AHECBD 做数据存储?MR25H40CDF 和 R7FA8M1AHECBD 这两个型号组合,不是随便凑的“硬件CP”,而是我在三年内跑过17个产线、调试过43台边缘采集设备后,亲手验证出…

2026/10/4 15:15:55 阅读更多 →
Goldie如何保证App Store素材100%一次过审:Apple截图尺寸与预览视频规则深度解析

Goldie如何保证App Store素材100%一次过审:Apple截图尺寸与预览视频规则深度解析

Goldie如何保证App Store素材100%一次过审:Apple截图尺寸与预览视频规则深度解析 【免费下载链接】goldie ✨ agentic app store previews and screenshots 项目地址: https://gitcode.com/gh_mirrors/gol/goldie 提交 App Store 时,你是否因为“…

2026/10/4 15:15:55 阅读更多 →
CD-HIT序列聚类去冗余:原理、参数与实战详解

CD-HIT序列聚类去冗余:原理、参数与实战详解

做生信的人,基本都有被CD-HIT救过命的经历。我最早接触它,是很多年前要处理一批从测序组装结果里预测出来的蛋白序列,差不多三万多条,里面有大量近乎一样的重复。当时想直接两两比对去冗余,结果发现这是O(n)级别的计算…

2026/10/4 15:14:54 阅读更多 →

日新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 11:40:45 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 9:43:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 9:42:36 阅读更多 →