fold 命令入门示例教程
你有没有发现自己在某种情况下想要折叠或中断命令的输出，以适应特定的宽度？
fold
你有没有发现自己在某种情况下想要折叠或中断命令的输出，以适应特定的宽度？
![](/data/attachment/album/201803/04/233523lt0e7ysyxsee7pyj.png)


你有没有发现自己在某种情况下想要折叠或中断命令的输出，以适应特定的宽度？在运行虚拟机的时候，我遇到了几次这种的情况，特别是没有 GUI 的服务器。 以防万一，如果你想限制一个命令的输出为一个特定的宽度，现在看看这里！ `fold` 命令在这里就能派的上用场了！ `fold` 命令会以适合指定的宽度调整输入文件中的每一行，并将其打印到标准输出。


在这个简短的教程中，我们将看到 `fold` 命令的用法，带有实例。


### fold 命令示例教程


`fold` 命令是 GNU coreutils 包的一部分，所以我们不用为安装的事情烦恼。


`fold` 命令的典型语法：



```
fold [OPTION]... [FILE]...

```

请允许我向您展示一些示例，以便您更好地了解 `fold` 命令。 我有一个名为 `linux.txt` 文件，内容是随机的。


![](/data/attachment/album/201803/04/233526xwgm6yoaa6ww6zll.png)


要将上述文件中的每一行换行为默认宽度，请运行：



```
fold linux.txt

```

每行 80 列是默认的宽度。 这里是上述命令的输出：


![](/data/attachment/album/201803/04/233529j9jptj3j9vgco4cc.png)


正如你在上面的输出中看到的，`fold` 命令已经将输出限制为 80 个字符的宽度。


当然，我们可以指定您的首选宽度，例如 50，如下所示：



```
fold -w50 linux.txt

```

示例输出：


![](/data/attachment/album/201803/04/233531lwgwpzw5gu2w9zu2.png)


我们也可以将输出写入一个新的文件，如下所示：



```
fold -w50 linux.txt > linux1.txt

```

以上命令将把 `linux.txt` 的行宽度改为 50 个字符，并将输出写入到名为 `linux1.txt` 的新文件中。


让我们检查一下新文件的内容：



```
cat linux1.txt

```

![](/data/attachment/album/201803/04/233534fz707vcowgi2g7xw.png)


你有没有注意到前面的命令的输出？ 有些词在行之间被中断。 为了解决这个问题，我们可以使用 `-s` 标志来在空格处换行。


以下命令将给定文件中的每行调整为宽度 50，并在空格处换到新行：



```
fold -w50 -s linux.txt

```

示例输出：


![](/data/attachment/album/201803/04/233537ugc8b8u8r88ss95w.png)


看清楚了吗？ 现在，输出很清楚。 换到新行中的单词都是用空格隔开的，所在行单词的长度大于 50 的时候就会被调整到下一行。


在所有上面的例子中，我们用列来限制输出宽度。 但是，我们可以使用 `-b` 选项将输出的宽度强制为指定的字节数。 以下命令以 20 个字节中断输出。



```
fold -b20 linux.txt

```

示例输出：


![](/data/attachment/album/201803/04/233541wspjq3nue1bqghto.png)


另请阅读：


* [Uniq 命令入门级示例教程](https://www.ostechnix.com/uniq-command-tutorial-examples-beginners/)


有关更多详细信息，请参阅 man 手册页。



```
man fold

```

这些就是所有的内容了。 您现在知道如何使用 `fold` 命令以适应特定的宽度来限制命令的输出。 我希望这是有用的。 我们将每天发布更多有用的指南。 敬请关注！


干杯!




---


via: <https://www.ostechnix.com/fold-command-tutorial-examples-beginners/>


作者：[SK](https://www.ostechnix.com/author/sk/) 译者：[Flowsnow](https://github.com/Flowsnow) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出

