Merge pull request #26658 from wxy/20220721-How-I-use-the-Linux-fmt-command-to-format-text

RP:published/20220721 How I use the Linux fmt command to format text.md
This commit is contained in:
Xingyu.Wang 2022-08-01 18:49:17 +08:00 committed by GitHub
commit f6aeb3925b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3,16 +3,18 @@
[#]: author: "Jim Hall https://opensource.com/users/jim-hall"
[#]: collector: "lkxed"
[#]: translator: "perfiffer"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-14886-1.html"
我是如何使用 Linux fmt 命令来格式化文本
======
fmt 命令是一个简单的文本格式化程序。我将在这里展示如何使用它来格式化文本和邮件回复。
当我为项目编写文档时,我经常以纯文本的形式编写自述文件和安装说明。我不需要使用 HTML 或者 Markdown 之类的标记语言来描述项目的功能或如何编译它。但是维护此文档可能会很痛苦。如果我需要在我的 `Readme` 文件中更新一个句子的中间位置,我需要重新格式化文本,这样我就不会在我的其它文本中间出现一个很长或很短的行,否则它会被格式化为 75 列。一些编辑器包含可以自动重新格式化文本以填充段落的功能,但并非所有的编辑器都这样做。这就是 Linux `fmt` 命令的用武之地。
![](https://img.linux.net.cn/data/attachment/album/202208/01/184300zbyfjayeyqa5pmcb.jpg)
> fmt 命令是一个简单的文本格式化程序。我将在这里展示如何使用它来格式化文本和邮件回复。
当我为项目编写文档时,我经常以纯文本的形式编写自述文件和安装说明。我不需要使用 HTML 或者 Markdown 之类的标记语言来描述项目的功能或如何编译它。但是维护这样的文档可能会很痛苦。如果我需要更新我的 `Readme` 文件中的一个句子的中间位置,我需要重新格式化文本,以避免在我的其它文本中间出现一个很长或很短的行,而其它的行的格式是整整齐齐的 75 列。一些编辑器包含可以自动重新格式化文本以填充段落的功能,但并非所有的编辑器都这样做。这就是 Linux `fmt` 命令的用武之地。
### 使用 Linux fmt 命令格式化文本
@ -30,8 +32,7 @@ civilizations. To boldly go
where no one has gone before!
```
在这个实例文件中,每行都有不同的长度,并且它们以一种奇怪的方式被分割。如果你对纯文本文件进行大量更改,你可以会遇到类似的奇怪的换行。要重新格式化此文本,你可以使用 `fmt` 命令将段落的行填充为统一长度:
在这个实例文件中,每行都有不同的长度,并且它们以一种奇怪的方式换行。如果你对纯文本文件进行大量更改,你可以会遇到类似的奇怪的换行。要重新格式化此文本,你可以使用 `fmt` 命令将段落的行填充为统一长度:
```
$ fmt trek.txt
@ -53,9 +54,9 @@ civilizations. To boldly go where no one has gone before!
### 使用 Linux fmt 命令格式化电子邮件回复
参与了一个邮件列表,我们更喜欢纯文本电子邮件。这使得在列表服务器上归档电子邮件变得更加容易。但现实并非每个人都以纯文本形式发送电子邮件。有时候,当我以纯文本形式回复这些电子邮件时,我的电子邮件客户端会将整个段落放在一行中。这使得在电子邮件中“引用”回复变得困难。
加入了一个邮件列表,这里更喜欢纯文本电子邮件,这使得在列表服务器上归档电子邮件变得更加容易。但现实并非每个人都以纯文本形式发送电子邮件。有时候,当我以纯文本形式回复这些电子邮件时,我的电子邮件客户端会将整个段落放在一行中。这使得在电子邮件中“引用”回复变得困难。
这是一个简单的例子。当我以纯文本形式回复电子邮件时,我的电子邮件客户端通过在每行前添加 `>` 字符来”引用“对方的电子邮件。对于一条短消息,可能如下所示:
这是一个简单的例子。当我以纯文本形式回复电子邮件时,我的电子邮件客户端通过在每行前添加 `>` 字符来“引用”对方的电子邮件。对于一条短消息,可能如下所示:
```
> I like the idea of the interim development builds.
@ -78,7 +79,7 @@ $ fmt -p '>' email.txt
> great way to test new changes that everyone can experiment with.
```
`fmt` 命令是一个非常简单的文本格式化程序,但它可以做很多有用的事情,有助于以纯文本形式编写和更新文档。探索其它选项,例如 `-c``--crown-margin` 以匹配段落前两行缩进,例如项目符合列表。还可以尝试使用 `-t` 或者 `--tagged-paragraph` 来保留段落中第一行的缩进,就像缩进的段落一样。`-u` 或 `--uniform-spacing` 选项在单词之间使用一个空格,在句子之间使用两个空格。
`fmt` 命令是一个非常简单的文本格式化程序,但它可以做很多有用的事情,可以帮助以纯文本形式编写和更新文档。要了解其它选项,例如 `-c``--crown-margin` 以匹配段落前两行缩进,例如项目列表。还可以尝试使用 `-t` 或者 `--tagged-paragraph` 来保留段落中第一行的缩进,就像缩进的段落一样。`-u` 或 `--uniform-spacing` 选项在单词之间使用一个空格,在句子之间使用两个空格。
--------------------------------------------------------------------------------
@ -86,8 +87,8 @@ via: https://opensource.com/article/22/7/fmt-trivial-text-formatter
作者:[Jim Hall][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/perfiffer)
校对:[校对者ID](https://github.com/校对者ID)
译者:[perfiffer](https://github.com/perfiffer)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出