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

ops/2024/10/9 15:14:27/

0 引言

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

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

1.1 fold 命令 的帮助信息

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

[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 exitGNU 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 

[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的内容:

[purpleendurer @ bash ~ ] fold -w 7 a
0 1 2 34 5 6 
7 8 9
A B C DE F G 
H I J KL M N 
O P Q RS T U 
V W X YZ
a b c de f g 
h i j kl m n 
o p q rs t u 
v w x yz
[purpleendurer @ bash ~ ] 

 2.2 在空格处进行折断

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

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

[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的内容

[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 ~ ] 


http://www.ppmy.cn/ops/122584.html

相关文章

【git】通过配置 `init.defaultBranch`,自定义 Git 初始化时的默认分支名称,避免使用 `master` 并消除相关的警告提示

Git 会提示你配置一个默认的初始分支名称 git init 提示&#xff1a;使用 ‘master’ 作为初始分支的名称。这个默认分支名称可能会更改。要在新仓库中 提示&#xff1a;配置使用初始分支名&#xff0c;并消除这条警告&#xff0c;请执行&#xff1a; 提示&#xff1a; 提示&am…

【C语言】自定义类型:结构体

文章目录 一、结构体类型的声明和自引用1.结构体类型的普通声明2.结构体的特殊声明3.结构体的自引用 二、结构体变量的创建和初始化1.结构体变量的创建2.结构体变量的初始化 三、结构体内存对齐1.内存对齐规则&#xff1a;练习练习1练习2练习3练习4 2.为什么有内存对齐平台原因…

电脑无法无线投屏的解决办法

在前司的时候经常遇到电脑无法使用无线投屏器的情况&#xff0c;今天就来聊聊如何解决。 1.不会连接。这种情况&#xff0c;经常发生在WIN10升级WIN11之后&#xff0c;一般是两种办法&#xff0c;一种是同时按键盘上的WINDOWS和K键&#xff0c;右下角就会出来连接的图标&#…

递归关系与生成函数 - 离散数学系列(九)

目录 1. 递归关系的定义 常见的递归关系 2. 求解递归关系的方法 1. 迭代展开法 2. 特征方程法 3. 生成函数的引入 生成函数的定义 生成函数的应用 4. 实际应用场景 1. 动态规划与递归 2. 组合计数 5. 例题与练习 例题1&#xff1a;求解递归关系 练习题 总结 引言…

python脚本实现Redis未授权访问漏洞利用

之前介绍过Redis未授权访问漏洞&#xff0c;本文使用python实现Redis未授权访问检测以及对应三种getshell。 1 测试环境准备 CentOS 7&#xff08;192.168.198.66/24&#xff09;&#xff1a;安装 Redis 服务器并用 root 权限开启服务&#xff0c;关闭保护模式&#xff1b;安…

【CSS】水平垂直居中

给父盒子设置属性 flex display: flex;写在父元素上这就是定义了一个伸缩容器justify-content&#xff1a;center 设置主轴对齐方式为居中&#xff0c;默认是横轴。子元素居中。align-items&#xff1a;center 设置纵轴对齐方式为居中&#xff0c;默认是纵轴。子元素居中。 给…

计算机网络:计算机网络概述 —— 初识计算机网络

文章目录 计算机网络组成部分网络架构协议与标准网络设备网络类型作用实际应用案例 计算机网络 计算机网络是指将多台计算机通过通信设备和通信链路连接起来&#xff0c;以实现数据和信息的交换和共享的技术和系统。它是现代信息社会的基础设施之一&#xff0c;也是互联网的基…

STM32的ADC技术详解

ADC&#xff08;Analog-to-Digital Converter&#xff0c;模数转换器&#xff09; 是将连续的模拟信号转换为离散的数字信号的关键组件。在STM32系列微控制器中&#xff0c;ADC广泛应用于传感器数据采集、信号处理和控制系统等领域。本文将详细介绍STM32的ADC技术&#xff0c;包…