文本以小于以下的形式显示:
文本从窗口的一个边缘延伸到另一个边缘,换行符很难看,它们在中间打断单词。
我们有另一个包含短行的文件版本:
较少的短行-Moby-dick.txt
此文件中的行要短得多。每行都以换行符结尾。
如果我们使用十六进制转储命令,我们可以查看文件中的字节值和换行符。-C(规范)选项设置输出格式,使其在显示主体中显示十六进制值,同时在旁边的列中显示等效文本。我们将通过管道将输出转换为更少:
HEXDUMP-C短行-Moby-dick.txt|更少
通过按正斜杠“/”,您将进入Less的搜索功能。键入“0A”,然后按Enter键。换行符将在文本中突出显示。您可以滚动文件并查看它们出现的位置。如果需要,您可以使用向左箭头和向右箭头键横向滚动输出。
在每行末尾使用换行符本身可能是一种限制。无论哪个程序或窗口显示此文本,行都不能适应宽度比行本身更宽的窗口。行长已被换行符限制。
所以长线和短线都有问题。
减少排长队
Fold命令有一个选项-w(宽度),允许您为文本部分指定新的最大宽度。我们将显示最大宽度为50个字符的“白鲸”文本:
Fold-w 50 Moby-dick.txt
文本将以新的最大文件长度显示在终端窗口中。原始文件不会更改。只有Fold的输出才会重新格式化。
乍一看,这看起来好多了。但在行尾的中间,单词仍在分裂。它绝对更容易阅读,但一些令人尴尬的分词令人不舒服。
虽然看起来文本的右边距上下摆动,但所有行长都是相同的。看起来比其他行短一个字符的行恰好以空格字符结尾。
在空间拆分线
我们可以使用-s(空格)选项来确保行只在空格字符上拆分,并且没有单词在两行之间断开。
Fold-w 50-s Moby-dick.txt
现在,输出的右边页边距参差不齐,但更容易阅读。所有的单词都在它们开始的行上结束。
让短线变长
除了使长线变短之外,我们还可以使用Fold来删除短线的强制线长度。
Fold-w 75短行-Moby-dick.txt
换行符将被删除,文本现在在分配的最大长度或之前换行。
使变革永久化
文件夹无法修改原始文件。如果您希望保留更改,则必须将Fold中的输出重定向到新文件中。我们将输出重定向到名为“Modified-Moby-dick.txt”的文件中。
Fold-w 75-s短线-Moby-dick.txt>Modified-Moby-dick.txt
让我们来看看我们的新文件:
修改较少-Moby-dick.txt
我们的新文件看起来怎么样?
文本现在整齐地以我们的新行宽换行,该宽度比原始文件的行长宽。
对流使用折叠
我们可以使用Fold重新格式化文本流。它不仅限于处理文件。让我们看看Jouralctl工具的原始输出是什么样子。f(跟随)选项显示systemd日志中的最新条目,并在新条目到达时进行更新。
sudo Journal alctl-f
输出在终端窗口的边缘换行。
它看起来还不错,但为了演示起见,让我们稍微缩小一下它的宽度。我们将通过管道将Jouralctl的输出输出到Fold中。我们将最大宽度设置为65个字符,并且仅在空格上换行。
sudo Journal alctl-f|fold-w 65-s
显示屏看起来不那么令人惊叹,触摸起来也更整洁一些。
实心文本的墙看起来似乎是无法穿透的。他们令人不快,令人疲惫不堪。当你需要能够从树上看到木头的时候,叫上折叠,并施加一点秩序。