Linux 的 fmt 命令用法与案例
创始人
2024-03-01 21:31:59
0

有时你会发现需要格式化某个文本文件中的内容。比如,该文本文件每行一个单词,而任务是把所有的单词都放在同一行。当然,你可以手工来做,但没人喜欢手工做这么耗时的工作。而且,这只是一个例子 - 事实上的任务可能千奇百怪。

好在,有一个命令可以满足至少一部分的文本格式化的需求。这个工具就是 fmt。本教程将会讨论 fmt 的基本用法以及它提供的一些主要功能。文中所有的命令和指令都在 Ubuntu 16.04LTS 下经过了测试。

Linux fmt 命令

fmt 命令是一个简单的文本格式化工具,任何人都能在命令行下运行它。它的基本语法为:

fmt [-WIDTH] [OPTION]... [FILE]...

它的 man 页是这么说的:

重新格式化文件中的每一个段落,将结果写到标准输出。选项 -WIDTH--width=DIGITS 形式的缩写。

下面这些问答方式的例子应该能让你对 fmt 的用法有很好的了解。

Q1、如何使用 fmt 来将文本内容格式成同一行?

使用 fmt 命令的基本形式(省略任何选项)就能做到这一点。你只需要将文件名作为参数传递给它。

fmt [file-name]

下面截屏是命令的执行结果:

format contents of file in single line

你可以看到文件中多行内容都被格式化成同一行了。请注意,这并不会修改原文件(file1)。

Q2、如何修改最大行宽?

默认情况下,fmt 命令产生的输出中的最大行宽为 75。然而,如果你想的话,可以用 -w 选项进行修改,它接受一个表示新行宽的数字作为参数值。

fmt -w [n] [file-name]

下面这个例子把行宽削减到了 20:

change maximum line width

Q3、如何让 fmt 突出显示第一行?

这是通过让第一行的缩进与众不同来实现的,你可以使用 -t 选项来实现。

fmt -t [file-name]

make fmt highlight the first line

Q4、如何使用 fmt 拆分长行?

fmt 命令也能用来对长行进行拆分,你可以使用 -s 选项来应用该功能。

fmt -s [file-name]

下面是一个例子:

make fmt split long lines

Q5、如何在单词与单词之间,句子之间用空格分开?

fmt 命令提供了一个 -u 选项,这会在单词与单词之间用单个空格分开,句子之间用两个空格分开。你可以这样用:

fmt -u [file-name]

注意,在我们的案例中,这个功能是默认开启的。

总结

没错,fmt 提供的功能不多,但不代表它的应用就不广泛。因为你永远不知道什么时候会用到它。在本教程中,我们已经讲解了 fmt 提供的主要选项。若想了解更多细节,请查看该工具的 man 页


via: https://www.howtoforge.com/linux-fmt-command/

作者:Himanshu Arora 译者:lujun9972 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

U盘删除文件恢复教学,6个...
U盘是日常数据传输与存储的常用工具,但长期积累的垃圾文件会占用存储...
2026-01-23 13:48:12
怎么把U盘格式化的文件恢复...
在日常使用电脑的过程中,我们可能会因为各种原因误操作而格式化了U盘...
2026-01-20 20:19:33
在CentOS系统下使用y...
磁盘阵列(RAID)对于提高服务器数据的安全性和性能至关重要。在C...
2025-06-14 14:41:23
格式化输入输出
格式化输入输出格式化输入输出%[flags][width][.pr...
2025-05-31 18:34:38
@ControllerAd...
定义ResultCode 这里先简单定义四个状态:1...
2025-05-31 13:48:10
新民随笔丨AI代替写作?
作为一名文字工作者,现在的存在感是否会有所降低?身边有些朋友原本不...
2025-03-04 14:59:52

热门资讯

“Linux 中国” 开源社区... 这是一个艰难的决定 —— 这不是调侃,而是当你真正做出改变了你十几年生活轨迹的决定时,你就会明白这个...
硬核观察 #1263 德国铁路... #1 德国铁路公司招聘 Windows for Workgroups 3.11 管理员该职位要求了解...
人工智能教程(七):Sciki... 在本系列的 上一篇文章 中,我们用 TensorFlow 构建了第一个神经网络,然后还通过 Kera...
关闭 WSL 中正在运行的 L... 以下是使用 WSL 关闭在 Windows 内运行的 Linux 系统的不同方法。你使用 WSL 在...
MX Linux 23.2 “... 最新的 MX Linux 23.2 小版本更新带来了基本的改进和新增功能。MX Linux 推出了 ...
硬核观察 #1262 网络上最... #1 网络上最古老的软件存档库之一即将关闭美国新墨西哥州立大学(NMSU)最近宣布,即将于 2024...
如何在 RHEL 上通过绑定配... 在 Linux 中,你可以根据自己的需要创建高级网络设置,如 网络绑定 Network Bondin...
Linux Matrix 消息... Matrix 用户可以升级 Fractal 6 了!Fractal 是目前 最好的 Matrix 客...
如何通过 VLC 使用字幕 使用 VLC 媒体播放器播放和管理字幕的新手指南。我是一个超级动漫迷,如果你想观看最新的剧集,那么你...
硬核观察 #1261 X 计划... #1 X 计划在奥斯汀建立内容审核总部据报道,该部门将招聘 100 名全职员工,将主要关注 CSE ...