如何在linux上使用fold命令

linuxfold命令带来了难以控制的输出。通过控制输出的宽度来读取大量文本、无穷无尽的字符串和未格式化的流。学习如何。...

linuxfold命令带来了难以控制的输出。通过控制输出的宽度来读取大量文本、无穷无尽的字符串和未格式化的流。学习如何。

linux终端中文本行的工作原理

Linux战斗的第一条规则:了解你的敌人。让我们来定义它。一行文字到底是什么?它是由字母、数字、符号和空格组成的一系列字符,以一个表示“开始新行”的特殊字节结尾。在Linux和Unix中,换行符(也称为换行符)用作行尾指示符。这是一个十六进制值为0x0a,十进制值为10的字节。

不同的操作系统使用不同的字节值来表示一行的结束。Windows使用两字节序列。在Windows文本文件中,换行符后面紧跟着回车符,十六进制为0x0d,十进制为十三。

术语“换行”和“回车”可以追溯到打字机。压盘,纸被包裹的圆筒,被安装在一个可移动的托架上。每次你按一个键,马车就会向左移动一个字符的宽度。要开始一条新的生产线,您需要推动一个杠杆,使纸架回到原来的位置,然后旋转滚筒,将纸张向上移动一行的高度。这个动作被称为回车,而滚筒的旋转(以及纸张的前进)被称为换行。

打字机通电后,杠杆被钥匙取代了。钥匙的标签是回车或刚刚回车。一些早期的计算机,如BBC Micro,仍然在我们现在所说的回车键上使用Return这个名字。

通常你看不到换行符。你只能看到它们的效果。换行符强制显示或处理文本的软件开始换行。

但排长队有什么问题?

没有或很少有换行符的文本太宽,在终端窗口中很难阅读。那很烦人,但却是可以做到的。

一个更有害的问题是必须处理这样长的行,它们给需要处理、传输或接收文本的软件带来了问题。这可能是由于内部缓冲区长度或无法调整的软件其他方面造成的。

但有一个解决办法,叫折叠。

带折叠的第一步

让我们看一下文本中有非常,非常长的行的部分。注意,我们这里不是在讨论句子。(虽然这篇文章来自赫尔曼·梅尔维尔的《白鲸》,但我们已经做到了两全其美。)

一行文本是从最后一个换行字符(或者文件的开头(如果它是文件中的第一行)一直到下一个换行字符,不管中间有什么。这行可能包含许多句子。它可能会在终端窗口中绕上很多次。但它仍然是一行文字。

让我们看看原始形式的文本:

less moby-dick.txt

如何在linux上使用fold命令

文本以较少的格式显示:

如何在linux上使用fold命令

文本从窗口的一个边缘延伸到另一个边缘,并且线包装是丑陋的,并且它们在中间中断单词。

我们有另一个版本的短线文件:

less short-lines-moby-dick.txt

如何在linux上使用fold命令

这个文件中的行要短得多。每行以换行符结束。

如何在linux上使用fold命令

如果我们使用hextump命令,我们可以查看文件中的字节值和换行符。C(canonical)选项对输出进行格式化,以在显示器的主体中显示十六进制值,并在旁边的列中显示等价的文本。我们将把输出分成以下几个部分:

hexdump -C short-lines-moby-dick.txt | less

如何在linux上使用fold命令

按正斜杠“/”可以进入less的搜索功能。键入“0a”并按Enter键。换行符将在文本中突出显示。您可以滚动文件并查看它们出现的位置。如果需要,可以使用左箭头和右箭头键横向滚动输出。

如何在linux上使用fold命令

在每行的末尾有一个换行符本身就是一个限制。无论哪个程序或窗口显示此文本,线条都无法适应宽度大于线条本身的窗口。行长度已被换行符限制。

所以长线和短线都有问题。

减少长线

fold命令有一个选项-w(width),允许您为一段文字指定一个新的最大宽度。我们将显示最大宽度为50个字符的Moby Dick文本:

fold -w 50 moby-dick.txt

如何在linux上使用fold命令

文本以新的最大文件长度显示在终端窗口中。原始文件未更改。只有fold的输出被重新格式化。

如何在linux上使用fold命令

乍一看,这看起来好多了。但是单词仍然在行尾的中间被分开。这本书显然更容易阅读,但有些难懂的断字很刺耳。

尽管看起来文本的右边边距在来回摆动,但所有的行长度都是相同的。看起来比其他字符短一个字符的行恰好以空格字符结束。

在空间处拆分线

我们可以使用-s(空格)选项来确保只在空格字符上拆分行,并且不在两行之间打断任何单词。

fold -w 50 -s moby-dick.txt

如何在linux上使用fold命令

现在输出的右边距参差不齐,但更容易阅读。所有的单词都是从开头的那一行开始的。

如何在linux上使用fold命令

使短线变长

除了使长线变短之外,我们还可以使用fold来删除较短线的强制线长度。

fold -w 75 short-lines-moby-dick.txt

如何在linux上使用fold命令

换行符被删除,文本现在换行在分配的最大长度上或之前。

如何在linux上使用fold命令

使更改永久化

无法修改原始文件。如果要保留更改,则必须将fold的输出重定向到新文件中。我们将把输出重定向到一个名为“modified moby”的文件中-迪克.txt.”

fold -w 75 -s short-lines-moby-dick.txt > modified-moby-dick.txt

如何在linux上使用fold命令

让我们看看我们的新文件:

less modified-moby-dick.txt

如何在linux上使用fold命令

我们的新档案怎么样?

如何在linux上使用fold命令

文本现在以新的行宽整齐地包装,比原始文件的行长宽。

对流使用折叠

我们可以使用折叠来重新格式化文本流。它不仅限于处理文件。让我们看看journalctl工具的原始输出是什么样子的。f(follow)选项显示systemd日志中的最新条目,并在新条目到达时更新。

sudo journalctl -f

如何在linux上使用fold命令

输出环绕在终端窗口的边缘。

如何在linux上使用fold命令

它看起来不太糟,但是为了演示,让我们稍微减小它的宽度。我们将把journalctl的输出导入fold。我们将最大宽度设置为65个字符,并且只在空格上断行。

sudo journalctl -f | fold -w 65 -s

如何在linux上使用fold命令

显示屏看起来没有那么凌驾于众,触感也更加整洁。

如何在linux上使用fold命令


纯文本的墙似乎无法穿透。他们很难应付。当你需要从树上看到木头的时候,可以打电话给fold,并强加一点秩序。

  • 发表于 2021-04-02 16:13
  • 阅读 ( 187 )
  • 分类:互联网

你可能感兴趣的文章

如何在linux上安装和使用powershell

... 在本文中,我将向您展示如何在Linux上安装、运行和使用PowerShell! ...

  • 发布于 2021-03-16 02:34
  • 阅读 ( 307 )

如何在android和termux上使用linux命令行

...许您在Android设备上安装诚实善良的Linux应用程序。下面是如何使用Termux应用程序。 ...

  • 发布于 2021-03-18 07:26
  • 阅读 ( 373 )

如何在windows10上获得linux bash shell

... 如何在windows10上安装linux bash shell ...

  • 发布于 2021-03-21 11:48
  • 阅读 ( 284 )

linux下如何重命名文件

要在Linux中重命名文件吗?如果您知道如何在Windows、macOS或Chrome操作系统中完成这项工作,那么您就知道如何在这里完成这项工作。在大多数版本的Linux上,您只需右键单击一个文件并选择Rename选项。 ...

  • 发布于 2021-03-22 02:48
  • 阅读 ( 275 )

linux正在吃掉你的公羊吗?如何管理你的记忆

...的内存。为了理解到底发生了什么,我们必须看看Linux是如何管理内存的。 ...

  • 发布于 2021-03-23 08:31
  • 阅读 ( 313 )

如何在linux上使用groupadd管理用户组

... 相关:如何在Linux中更改密码 ...

  • 发布于 2021-03-26 17:15
  • 阅读 ( 184 )

如何在linux中添加用户

想在Linux系统上添加用户但不知道如何添加?在Linux上使用命令行界面管理用户无疑是一项复杂的工作。而对于初学者来说,即使添加新用户也是一场噩梦。 ...

  • 发布于 2021-03-26 23:29
  • 阅读 ( 334 )

在linux中,“bash”是什么意思?

...在这篇短文中,我们将探讨Bash是什么,它做什么,以及如何开始使用它。 ...

  • 发布于 2021-03-28 13:14
  • 阅读 ( 451 )

如何在Windows10上导出和导入linux系统

...已配置的系统,与其他计算机共享,或者只保存备份。 如何工作 导入和导出功能是在2019年5月的Windows10版本1903更新中添加的。如果尚未安装,则无法使用这些命令行选项。 您只需要为Windows wsl命令提供两个新选项:--export和--i...

  • 发布于 2021-04-03 10:24
  • 阅读 ( 189 )

每日新闻综述:at&t取消galaxy fold预订单

...Linux操作系统中。总的来说,这些变化应该会提高绩效。[如何极客] 三星的巨型壁式电视得到了豪华升级:三星即将推出的MicroLED电视已经是75英寸的巨型电视,并被恰当地称为壁式电视。现在它得到了“豪华升级”选项,使电视...

  • 发布于 2021-04-03 11:40
  • 阅读 ( 138 )
mdql920949
mdql920949

0 篇文章

相关推荐