Linux 中的 nl 命令及示例 - Linux 命令行教程
Linux中的nl命令是数字轴的缩写。如果您曾经有一个大型文本文档并且需要向其中添加行号,那么 nl 命令是您的救星。您无需经历手动对每行进行编号或将文本文档导入 GUI 文本编辑器的艰苦过程,只需从命令行使用 nl 即可在几秒钟内完成。
就像 Linux 系统上的几乎任何其他命令一样,nl 非常通用,并且支持多种格式选项。因此,您可以轻松地按照您想要的方式对文档进行行编号。您只需要知道一些可以与该命令一起使用的选项。
在本教程中,您将通过示例学习如何在 Linux 中使用 nl 命令。请按照以下步骤了解可与此命令一起使用的各种选项。
在本教程中您将学习:
如何在 Linux 上使用 nl 命令
常用选项
nl 命令将为文件中的所有或部分行添加序号。听起来很简单吗?好吧,一旦你知道了语法。在下面的示例中,我们将介绍该命令的一些最常用选项。这将向您展示如何根据文件的格式调整命令选项。
作为一个简单的示例,我们创建了一个文本文档,其中包含常见 Linux 发行版的十个不同名称(每行一个)。使用nl命令,我们将向您展示如何向该文本文档添加行号。
Linux 中的 nl 命令基础和高级示例
要向文件添加行号,只需将文件名传递给 nl 命令即可。默认情况下,行号将添加到文件中的每一行。请参阅下面的输出作为示例。
$ nl distros.txt 1 AlmaLinux 2 Arch Linux 3 CentOS 4 Debian 5 Fedora 6 Gentoo 7 Manjaro 8 openSUSE 9 Red Hat 10 Ubuntu
让我们尝试稍微改变一下格式。设置行号格式的一种常见方法是在行号后面添加句点。要使用 nl 命令执行此操作,我们将使用
-s
选项。我们还将指定". "
,以表明我们希望行号后面加一个点和一个空格。$ nl -s ". " distros.txt 1. AlmaLinux 2. Arch Linux 3. CentOS 4. Debian 5. Fedora 6. Gentoo 7. Manjaro 8. openSUSE 9. Red Hat 10. Ubuntu
如果我们想操纵行号前面的空格怎么办?这可以通过
-w
(宽度)选项来完成。为了完全消除空格,我们将宽度指定为 1。请注意,我们仍然使用上一个示例中的-s
选项,该选项将结合两种格式更改。$ nl -w 1 -s ". " distros.txt 1. AlmaLinux 2. Arch Linux 3. CentOS 4. Debian 5. Fedora 6. Gentoo 7. Manjaro 8. openSUSE 9. Red Hat 10. Ubuntu
默认情况下,nl 命令不会对空行进行编号。换句话说,只有带有文本的行才会被编号。如果您还需要对空行进行编号,可以使用
-b a
选项来完成。$ nl -b a distros.txt 1 AlmaLinux 2 Arch Linux 3 CentOS 4 Debian 5 Fedora 6 7 8 Gentoo 9 Manjaro 10 openSUSE 11 Red Hat 12 Ubuntu
如果您想从 1 以外的某个数字开始编号,可以将
-v
选项与 nl 一起使用并指定其他数字。例如,我们将从 100 开始对行进行编号。$ nl -v 100 distros.txt 100 AlmaLinux 101 Arch Linux 102 CentOS 103 Debian 104 Fedora 105 Gentoo 106 Manjaro 107 openSUSE 108 Red Hat 109 Ubuntu
要在每行中包含前导零,您可以将
-n rz
选项与 nl 结合使用。$ nl -n rz distros.txt 000001 AlmaLinux 000002 Arch Linux 000003 CentOS 000004 Debian 000005 Fedora 000006 Gentoo 000007 Manjaro 000008 openSUSE 000009 Red Hat 000010 Ubuntu
当然,还有更多选项和样式可以与 nl 命令一起使用。在这里涵盖所有这些是非常多余的,因为有很多细微的变化。我们建议您使用本指南中介绍的一些选项,并向命令添加您自己的调整,以便获得与行号完全一致的格式。
注意
您始终可以使用 man 命令来阅读有关 nl 命令及其官方文档的更多信息。单击上一个链接可查看如何打开 Linux 系统上任何命令的手册页。
结束语
在本教程中,我们学习了有关 Linux 上的 nl 命令的所有信息。当您需要向文件添加行号时,nl 命令非常有用。无论您的文件格式如何,或者您对行编号有什么样的要求,我们都为您提供了 Linux 中的 nl 命令所需的所有选项。