news 2026/2/14 2:55:50

Linux 命令:fold

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux 命令:fold

概述

Linux 中的fold命令是按指定宽度折行显示文本的工具,核心作用是将过长的文本行自动拆分,避免终端或文档中出现横向滚动,常用于格式化日志、配置文件、长文本的输出,是文本排版的实用基础命令。

资料合集:https://pan.quark.cn/s/6fe3007c3e95https://pan.quark.cn/s/561de99256a5https://pan.quark.cn/s/985f55b13d94https://pan.quark.cn/s/d0fb20abd19a

一、基本语法

fold[选项][文件1][文件2]...

无文件参数时,默认读取标准输入(可配合管道|对其他命令的输出做折行处理)。

二、核心功能与默认行为

  1. 默认按每行80个字符折行(适配传统终端的宽度);
  2. 折行仅按字符数拆分,不会识别单词边界(可能将一个单词从中间拆开);
  3. 拆分后的行保留原文本的字符顺序,多文件会按顺序拼接折行。
简单示例

新建一个长文本文件longline.txt,内容为一行超长字符串:

Linux fold command is used to wrap long lines of text into specified width, it's a basic text formatting tool.

执行默认折行命令:

foldlongline.txt

输出会被拆分为多行(每行最多80字符),若原行不足80字符则保持原样。

三、常用选项(重点)

fold的选项主要用于自定义折行宽度、是否识别字节/空格,高频选项均为单字符,可组合使用:

选项英文全称作用实用场景
-w N--width=N指定折行宽度为N个字符(核心选项)适配窄终端、固定文档排版宽度
-b--bytes字节数折行,而非字符数处理含中文/多字节字符的文本(避免乱码)
-s--spaces空格折行(不拆分单词)格式化英文文本、日志,保证单词完整性
-n——部分系统(如BSD)中替代-b,按字节折行跨系统兼容场景

四、经典实用示例

覆盖日常最常用的折行场景,含纯英文、多字节中文、管道配合、单词防拆分等核心用法。

场景1:自定义折行宽度(最常用)

将长文本按每行30个字符折行,替代默认80字符:

fold-w30longline.txt
场景2:处理中文/多字节文本(避免乱码)

中文属于多字节字符(UTF-8下占3字节),默认按字符折行可能因“字符-字节”不匹配导致乱码,需用-b按字节折行:
新建含中文的长行文件cn_longline.txt

fold命令是Linux的文本折行工具,可将超长的文本行按指定宽度拆分,适合格式化日志和配置文件。

执行按字节折行(指定每行20字节,适配窄终端):

fold-b -w20cn_longline.txt
场景3:折行不拆分单词(英文文本专属)

-s选项让fold最近的空格处折行,保证单词完整性,避免“断词”:

# 按40字符折行,且遇空格拆分(不拆单词)fold-s -w40longline.txt

输出示例(单词完整,行宽不超40):

Linux fold command is used to wrap long lines of text into specified width, it's a basic text formatting tool.
场景4:配合管道处理其他命令输出

catgrepls -l等命令的超长输出做折行,比如查看目录下超长文件名的列表并折行:

# 列出当前目录所有文件,按50字符折行,避免横向滚动ls-l|fold-w50
场景5:多文件批量折行并输出到新文件

file1.txtfile2.txt按35字符折行,结果写入formatted.txt

fold-w35file1.txt file2.txt>formatted.txt

五、关键注意事项

  1. 多字节字符处理:UTF-8编码下,中文、表情、特殊符号均为多字节,必须加-b按字节折行,否则会出现字符截断、乱码;
  2. -s的局限性:仅在有空格时生效,若一行无任何空格(如纯数字/密文),仍会按字符数直接拆分;
  3. 折行不修改原文件fold仅格式化输出,不会改变原文件内容,需通过重定向>写入新文件才会保存折行结果;
  4. fmt命令的区别fold纯按长度硬拆分,无文本排版逻辑;fmt智能格式化(自动调整行宽、保留段落、对齐单词),适合更美观的文本排版。

六、与同类命令fmt的核心区别

二者均为文本折行工具,但定位和功能差异明显,按需选择:

命令折行逻辑单词处理多字节字符适用场景
fold按字符/字节数硬拆分默认拆分,-s可避拆需加-b防乱码快速格式化、日志/密文折行、管道临时输出
fmt智能调整行宽,保留段落自动避拆单词原生支持,无需额外选项英文文档、文章、配置文件的美观排版

示例:用fmt格式化同一份长文本(自动按75字符折行,保留单词):

fmt-w75longline.txt

总结

fold轻量、快速的文本折行工具,核心优势是简单、高效,无多余排版逻辑,日常使用的高频组合:

  1. 英文短文本快速折行:fold -w N 文件名
  2. 中文/多字节文本折行:fold -b -w N 文件名
  3. 英文文本防断词折行:fold -s -w N 文件名
  4. 命令输出临时折行:命令 | fold -w N
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/10 12:02:40

什么是google算法?搞懂底层逻辑才不会被收割

做外贸或者是搞独立站的朋友,大概都有过这种经历:前一天网站流量还在蹭蹭涨,第二天早上起来一开后台,心都凉了半截。数据断崖式下跌,询盘直接归零。这时候你跑去问SEO专家,对方通常会一脸深沉地告诉你&…

作者头像 李华
网站建设 2026/2/4 15:04:47

Claude统治一切!吞下这颗红药丸,焊工也是顶尖程序员

一种被称为「Claude-pilled」的诡异现象正在硅谷病毒式蔓延!焊工、律师、全职奶爸都在用Claude Code写APP,程序员的护城河正在以肉眼可见的速度崩塌。更恐怖的是,工程师们发现自己正在悄悄「退化」。搅翻整个硅谷的Anthropic,这次…

作者头像 李华
网站建设 2026/2/2 22:22:16

agent开发——深入解读短期记忆、长期记忆

在agent开发中短期记忆、长期记忆、对话历史也算是耳熟能详的概念了,一开始我一直很迷惑,经过一些时间的实践和探索,得出了一些结论,今天就用十分凝练易懂的方式让你5分钟贯通。 什么是短期记忆、长期记忆、对话历史?…

作者头像 李华