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

news/2024/10/4 6:31:13 标签: linux, 学习笔记, shell编程, 脚本编程, fold命令

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

[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 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的内容,并确保行仅在空格处换行。

[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.niftyadmin.cn/n/5689616.html

相关文章

爬虫——同步与异步加载

一、同步加载 同步模式--阻塞模式&#xff08;就是会阻止你浏览器的一个后续加载&#xff09;停止了后续的解析 因此停止了后续的文件加载&#xff08;图像&#xff09; 比如hifini音乐网站 二、异步加载 异步加载--xhr(重点) 比如腾讯新闻&#xff0c;腾讯招聘等 三、同…

实景三维赋能城镇数字化规划

在数字化浪潮的推动下&#xff0c;城镇规划正经历着前所未有的变革。实景三维技术以其独特的优势&#xff0c;为城镇数字化规划提供了强大的技术支持。今天&#xff0c;我们将深入探讨实景三维技术如何赋能城镇数字化规划。 一、城镇规划面临的挑战 随着城镇化进程的加快&…

Git版本控制工具--关于命令

Git版本控制工具 学习前言 在项目开发中&#xff0c;总是需要多个人同时对一个项目进行修改&#xff0c;如何高效快速地进行修改&#xff0c;且控制各自修改的版本不会和他人的进行重叠&#xff0c;这就需要用到Git分布式版本控制器了 作用 解决了一致性&#xff0c;并发性…

滑动窗口--(上篇)

滑动窗口 长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl1, ..., numsr-1, numsr] &#xff0c;并返回其长度**。**如果不存在符合条件的子数组&#xff0c;返回 0 。 …

flutter_鸿蒙next(win)环境搭建

第一步 拉取鸿蒙版本flutterSDK仓库 仓库地址&#xff1a;OpenHarmony-SIG/flutter_flutter 第二步 找到拉取的仓库中的README.md 并根据说明配置环境 第三步 配置好环境变量之后 用管理员开启cmd 输入&#xff1a;flutter dcotor 并查看此时flutter所支持的系统 包括&…

C++语法——多态,虚函数,纯虚函数,虚函数表,虚继承

多态&#xff1a; C实现多态的方法主要包括虚函数、纯虚函数和模板函数 其中虚函数、纯虚函数实现的多态叫动态多态&#xff0c;模板函数、重载等实现的叫静态多态。 区分静态多态和动态多态的一个方法就是看决定所调用的具体方法是在编译期还是运行时&#xff0c;运行时就叫…

arduino点亮墨水屏

前言 入学后有了自己的工位&#xff0c;越发想要用墨水屏做一个自己的工牌。于是开始在淘宝寻找墨水屏&#xff0c;发现所有的墨水屏都是排线接口&#xff0c;不会焊板子的我只能继续寻找其他方案。后来在床上一想&#xff0c;我再买个驱动板不就行了吗&#xff1f;又开始在淘…

知识图谱入门——5:Neo4j Desktop安装和使用手册(小白向:Cypher 查询语言:逐步教程!Neo4j 优缺点分析)

Neo4j简介 Neo4j 是一个基于图结构的 NoSQL 数据库&#xff0c;专门用于存储、查询和管理图形数据。它的核心思想是使用节点、关系和属性来描述数据。图数据库非常适合那些需要处理复杂关系的数据集&#xff0c;如社交网络、推荐系统、知识图谱等领域。 与传统的关系型数据库…