Linux shell编程学习笔记85:fold命令——让文件瘦身塑形显示

紫郢剑侠 2024-10-16 14:07:02 阅读 67

0 引言

我们使用的电脑屏幕有宽有窄,我们有时候希望文件能按照我们的屏幕宽度来调整和匹配,这时我们可以使用fold命令。

1 fold命令 的帮助信息、功能、命令格式、选项和参数说明

1.1 fold 命令 的帮助信息

我们可以输入命令 fold--help 来查看fold 命令的帮助信息。

<code>[purpleendurer @ bash ~ ] fold --help

Usage: fold [OPTION]... [FILE]...

Wrap input lines in each FILE (standard input by default), writing to

standard output.

Mandatory arguments to long options are mandatory for short options too.

-b, --bytes count bytes rather than columns

-c, --characters count characters rather than columns

-s, --spaces break at spaces

-w, --width=WIDTH use WIDTH columns instead of 80

--help display this help and exit

--version output version information and exit

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>

Report fold translation bugs to <http://translationproject.org/team/>

For complete documentation, run: info coreutils 'fold invocation'

[purpleendurer @ bash ~ ]

 

 1.2 fold命令 的功能

fold命令用于限制文件内容列宽。

fold命令会从指定的文件里读取内容,将超过限定列宽的列加入增列字符后,输出到标准输出设备。

1.3 fold命令 格式

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

1.4 fold 命令 选项说明

选项 说明
-b,--bytes 计算字节而不是列
-c,--characters 计算字符数而不是列数
-s,--spaces --在空格处断开
-w,--width=WIDTH 使用 WIDTH 列而不是 默认的80 列
--help 显示此帮助并退出
--version 输出版本信息并退出

1.5 参数说明

文件:要处理的文件名称。

若不指定任何文件名称,或是所给予的文件名为"-",则fold指令会从标准输入设备读取数据。

2 fold 命令使用实例

2.0  创建演示文件

我们使用echo命令成生序列 0-9、A-Z和a-z通过输出重定向保存到文件a 

<code>[purpleendurer @ bash ~ ] echo {0..9} > a

[purpleendurer @ bash ~ ] echo {A..Z} >> a

[purpleendurer @ bash ~ ] echo {a..z} >> a

[purpleendurer @ bash ~ ] cat a

0 1 2 3 4 5 6 7 8 9

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

a b c d e f g h i j k l m n o p q r s t u v w x y z

[purpleendurer @ bash ~ ]

2.1 按指定列数换行输出

在默认情况下,fold 命令将列数限制为 80。

我们可以使用 -w 选项调整列数值。

例如以7列输出文件a的内容:

<code>[purpleendurer @ bash ~ ] fold -w 7 a

0 1 2 3

4 5 6

7 8 9

A B C D

E F G

H I J K

L M N

O P Q R

S T U

V W X Y

Z

a b c d

e f g

h i j k

l m n

o p q r

s t u

v w x y

z

[purpleendurer @ bash ~ ]

 2.2 在空格处进行折断

为了避免行末的单词因为列宽限制而断开成两行,我们可使用 -s选项确保行仅在空格处换行。

如以7列输出文件a的内容,并确保行仅在空格处换行。

<code>[purpleendurer @ bash ~ ] fold -w 7 -s a

0 1 2

3 4 5

6 7 8 9

A B C

D E F

G H I

J K L

M N O

P Q R

S T U

V W X

Y Z

a b c

d e f

g h i

j k l

m n o

p q r

s t u

v w x

y z

[purpleendurer @ bash ~ ]

2.3 按指定字节数换行输出

 如果我们希望fold 计量单位是字节数而不是列数,可以使用 -b 选项。

例如,以20个字节换行输出文件a的内容

<code>[purpleendurer @ bash ~ ] fold -b20 a

0 1 2 3 4 5 6 7 8 9

A B C D E F G H I J

K L M N O P Q R S T

U V W X Y Z

a b c d e f g h i j

k l m n o p q r s t

u v w x y z

[purpleendurer @ bash ~ ]



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。