Linux 的 fmt 命令用法与案例

2024-03-10 05:08
文章标签 linux 命令 用法 案例 fmt

本文主要是介绍Linux 的 fmt 命令用法与案例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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


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

Linux fmt 命令

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

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


它的 man 页是这么说的:

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

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

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

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

fmt [file-name]


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

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

Q2、如何修改最大行宽?

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

fmt -w [n] [file-name]


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

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

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

fmt -t [file-name]


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

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

fmt -s [file-name]


下面是一个例子:

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

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

fmt -u [file-name]

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

总结

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


这篇关于Linux 的 fmt 命令用法与案例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/793145

相关文章

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

Java8 Collectors.toMap() 的两种用法

《Java8Collectors.toMap()的两种用法》Collectors.toMap():JDK8中提供,用于将Stream流转换为Map,本文给大家介绍Java8Collector... 目录一、简单介绍用法1:根据某一属性,对对象的实例或属性做映射用法2:根据某一属性,对对象集合进行去重二、Du

java中ssh2执行多条命令的四种方法

《java中ssh2执行多条命令的四种方法》本文主要介绍了java中ssh2执行多条命令的四种方法,包括分号分隔、管道分隔、EOF块、脚本调用,可确保环境配置生效,提升操作效率,具有一定的参考价值,感... 目录1 使用分号隔开2 使用管道符号隔开3 使用写EOF的方式4 使用脚本的方式大家平时有没有遇到自