Linux文本排版神器!fmt命令超全详解|一键规范文本格式

📅 2026/7/2 4:59:29
Linux文本排版神器!fmt命令超全详解|一键规范文本格式
一、命令简介fmt是 Linux 系统内置的轻量化文本格式化、段落排版工具核心作用是读取文本内容自动调整换行、合并短行、拆分长行、规整间距输出标准化、高可读性的文本内容。相较于 vim、sed 等复杂编辑工具fmt 无需手动编辑一条命令即可完成批量排版常用于文档规整、代码注释格式化、日志美化、脚本文本优化场景是运维、开发高频轻量化文本处理工具。二、语法格式fmt 支持文件读取与标准输入读取两种模式标准语法格式如下fmt [选项]... [文件]...语法说明fmt [选项] [文件]读取指定文件按照配置规则格式化输出未指定文件或文件名为-默认从标准输入读取数据可配合管道使用默认不修改原文件仅输出格式化结果需重定向保存修改三、常用选项及说明整理 fmt 全量常用参数包含短选项、长选项及精准场景说明适配日常所有排版需求短选项长选项参数说明-c--crown-margin冠边距模式保留段落前两行缩进后续行统一与第二行左对齐适配特殊缩进文本-p 字符串--prefix字符串仅格式化指定前缀的行保留原有前缀常用于格式化#、//代码注释-s--split-only仅拆分超长行不合并短行保留原有段落结构仅优化超长文本-t--tagged-paragraph标签段落模式实现悬挂缩进首行缩进与后续行不一致适配正式文档排版-u--uniform-spacing统一文本间距单词间保留单个空格句子间保留两个空格彻底规整杂乱间距-w 数字--width数字设置单行最大字符宽度默认 75 字符支持简写-数字格式-h--help查看命令帮助信息-v--version查看 fmt 工具版本四、实战示例大全4.1 基础默认格式化使用默认 75 字符宽度自动合并短行、拆分长行规整全文段落# 默认格式排版文件 fmt notes.txt4.2 指定自定义行宽支持标准写法与简写写法自定义单行最大字符数# 标准写法设置单行50字符宽度 fmt -w 50 notes.txt # 简写写法效果完全一致 fmt -50 notes.txt4.3 仅拆分长行保留段落结构只截断超长文本不合并零散短行保护原有段落结构# 仅拆分超过40字符的行不合并短行 fmt -s -w 40 notes.txt4.4 格式化代码注释高频场景精准匹配注释前缀仅格式化注释内容不破坏代码结构# 仅格式化以 # 开头的脚本注释 fmt -p # script.py4.5 管道处理标准输入结合管道格式化其他命令输出、单行长文本# 格式化超长单行文本限定行宽30字符 echo 这是一段非常长的句子需要被格式化工具重新调整宽度以便于阅读。 | fmt -w 304.6 统一文本间距修复杂乱多空格、不规范间距标准化全文排版# 统一空格间距设置行宽60字符 fmt -u -w 60 textfile.txt4.7 冠边距缩进排版保留特殊缩进格式适配公文、定制缩进文本排版# 保留前两行缩进后续行统一对齐 fmt -c indented_text.txt五、核心注意事项5.1 非破坏性输出fmt 默认仅输出格式化结果不会修改原文件。如需保存排版结果必须使用输出重定向# 标准保存方式 fmt notes.txt formatted_notes.txt5.2 空白行处理规则fmt 将连续空白行识别为段落分隔符会自动保留空白行保证段落分区清晰不会合并不同段落内容。5.3 适用场景限制fmt 为基础空格级排版工具仅适用于纯文本、代码注释、普通文档。不支持复杂排版请勿用于表格、Markdown、HTML、中英文精准对齐场景可能破坏原有格式操作前建议备份文件。5.4 行宽适配规则-w指定的行宽为目标阈值为保证单词完整性fmt 不会拆分单词部分行实际长度会略小于设定值属于正常现象。5.5 选项兼容问题部分参数存在互斥冲突如-s仅拆分模式与-c冠边距模式组合使用可能出现排版异常多参数组合场景需提前测试验证。六、总结fmt 是 Linux 极简高效的文本排版神器无需复杂操作一条命令即可解决文本行宽杂乱、间距错乱、注释不规整等问题完美适配日常文档优化、代码注释格式化、日志美化等轻量化场景。掌握 fmt 常用参数可大幅提升终端文本处理效率是运维、开发必备基础命令。获取更多Linux学习资料请关注“阿成学长工具包”对话框中输入2647获取