fold [-bs] [-w width | -width] [file]...
fold 实用程序是一个在其输入文件中折行的过滤器,该过滤器通过换行使列位置最大为 width(如果指定了 –b 选项,则为最大字节数)。通过插入换行符进行换行,可使每个输出行(请参阅本节后面部分的段落)尽可能地接近最大宽度,而不会超出指定的列位置(或字节数)。不会在一个字符的中间换行。如果 width 小于输入中任何一个字符将占用的列数,则不定义该行为。
如果在输入中出现回车符、退格符或制表符等字符,且未指定 –b 选项,则会按以下方式对其进行特殊处理:
将行宽度的当前计数通过递减的方式减一,但计数不能变为负数。fold 不会在任何退格符前后紧挨着插入换行符。
将行宽度的当前计数设置为 0。fold 不会在任何回车符前后紧挨着插入换行符。
每出现一个制表符均会使列位置指针指向下一个制表停止位置。制表停止位置位于每个列位置 n(n 与 8 的模等于 1)处。
支持以下选项:
计数 width 以字节数(而不是列位置)表示。
如果由一行组成的段在第一个 width 列位置(或字节数)内包含空白字符,将在符合宽度约束的最后一个此类空白字符之后换行。如果不存在符合要求的空白字符,则 –s 选项不会对输入行组成的该输出段产生任何影响。
按列位置(如果指定了 –b,则按字节数)指定最大行长度如果 width 不是十进制正数,将返回一个错误。缺省值为 80。
支持下列操作数:
要折行的文本文件的路径名称。如果未指定 file 操作数,将使用标准输入。
有关影响 fold 执行的以下环境变量的描述,请参见 environ(5):LANG、LC_ALL、LC_CTYPE、LC_MESSAGES 和 NLSPATH。
将返回以下退出值:
所有输入文件均已成功处理。
出现错误。
有关下列属性的说明,请参见 attributes(5):
|
cut(1)、pr(1)、attributes(5)、environ(5)、standards(5)
fold 和 cut(1) 可用于将具有任意行长度的文件创建为文本文件。当长行的内容需要保持连续时,应使用 fold。当行数(或记录数)需要保持不变时,应使用 cut。
fold 通常用于将文本文件发送至行式打印机,该打印机将截断(而不是折叠)比打印机可打印的行宽度(通常位于列位置 80 或 132)更宽的行。
如果存在下划线,则 fold 可能无法正常运行。