格式化输出

首先,我们将着眼于一些简单的格式工具。它们都是功能单一的工具,并且做法有一点单纯,但是它们能被用来小任务并且作为脚本和管道的一部分。

nl是一个相当神秘的工具,用作一个简单的任务。它添加文件的行数,在最简单的用途中,它相当于cat-n。像cat、nl能接受多个文件作为命令参数,也能标准输出。然而,nl却又一个相当于数量的选项并且支持一个简单的标记方式去允许更多复杂的方式的计算。nl在计算的时候用到一个叫做“逻辑页面”的概念。这就允许nl在计算的时候去重设(再一次开始)可数的序列。每一个标记的元素肯定在自己的行中独自出现,但在处理完一个标记元素之后,nl就把它从文本流中删除。

折叠——fold是将文本的行限制到特定的宽的过程,fold接受一个或多个文件及标准输入。如果将一个文本流fold,用echo命令发送的文本用-w选项分解成块,可以发现文本行不会因为单词边界而不会被分解。但是如果加上-s选项,将让fold分解到最后可用的空白字符,即会考虑单词边界。

fmt程序同样折叠文本,但外加很多功能。它接受文本或标准输入并且在文本流上呈现照片转换。也就是说,它填补并且将文本粘贴在一起并保留了空白符和缩进。默认来说,空白行、单词间距、还有缩进都会在输出中保留;持续输入不同的缩进的流不会被结合。现在我们可以使用fmt,能格式输出并且不让代码

推荐阅读更多精彩内容