当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]有时你会发现需要格式化某个文本文件中的内容。比如,该文本文件每行一个单词,而任务是把所有的单词都放在同一行。当然,你可以手工来做,但没人喜欢手工做这么耗时的工作

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

好在,有一个命令可以满足至少一部分的文本格式化的需求。这个工具就是 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 页。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

摘要:简单介绍了建设水源地远程控制系统的必要性,详细介绍了基于手机APP技术的水源地控制系统的系统架构和主要功能。该项目的实施,提高了工作效率,降低了职工劳动强度,提高了水源地管理水平。

关键字: 远程控制 系统架构 主要功能

尽管Linux系统在IT世界中随处可见,但是对Linux需要一定的了解,无论他们是使用哪种语言的程序员。下面,千锋展示了最新的视频教程,以便初学者可以快速入门。

关键字: Linux 技术教程 测试环境 视频教程

如果要在Linux上的Eclipse中开发Java项目,则可以从其他位置访问该项目。 您可以从远程桌面使用teamviewer运行Linux计算机,但这可能很慢。 您也可以从普通的ssh终端编辑,编译和运行Java项目。...

关键字: eclipse java Linux 技术教程

作为Linux爱好者,我不能说我是Linux世界中的老司机,但也算是半个老司机了。我最开始了解Linux是在校园里。教授教我们如何在Windows下使用虚拟机创建环境, 然后安装Linux。我在校园里首先学到的是Red...

关键字: box Linux virtual vmware Windows 技术教程 workstation

好奇开发人员使用哪些Linux命令吗? 有什么技巧呢? 让我们带你走进程序开发人员的日常工作吧。

关键字: Linux 技术教程 localhost sudo

纯单片机干不了大事,必须得配上各种外设,那么了解单片机与传感器之间的数据通信就显得必不可少了。常见的单片机数据通信方式有SPI,IIC,RS232,单总线等等。每种通信方式都有相应的时序图,分析时序图并完成代码的编写是单...

关键字: 单片机 总线传输 技术教程 时序图

隔离可防止系统两个部分之间的直流电和异常的交流电,但仍然支持两个部分之间的信号和电源传输。隔离通常能够阻止电气组件或人员遭受危险电压和电流浪涌的伤害;用于保护人员的隔离称为增强型隔离。I2C已成为许多系统中流行的全球标准...

关键字: i2c 总线 技术教程 隔离器

串行接口常用于芯片至芯片和电路板至电路板之间的数据传输。随着系统带宽不断增加至多吉比特范围,并行接口已经被高速串行链接。

关键字: FPGA 技术教程 接口 通信

定时器是单片机的重要功能模块之一,在检测、控制领域有广泛应用。定时器常用作定时时钟,以实现定时检测,定时响应、定时控制,并且可以产生ms宽的脉冲信号,驱动步进电机。

关键字: 51单片机 中断 定时器 技术教程

智能家居在当下可是很受欢迎的存在,说道智能,当然离不开网络,那么智能家居中的设备是如何连接到互联网的呢?今天我就带你认识一下使用比较广泛的wifi模块-----ESP8266

关键字: esp8266 wifi模块 技术教程 无线
关闭
关闭