📜  Linux 中的 nl 命令和示例

📅  最后修改于: 2022-05-13 01:57:27.123000             🧑  作者: Mango

Linux 中的 nl 命令和示例

Linux 提供了大量用于文本格式化和编辑的命令。 在编辑文本文件时,您可能希望显示在它们之前附加行号的行,这里是Linux 中 nl 命令的角色扮演。 nl命令是一个 Unix/Linux 实用程序,用于对行进行编号,接受来自文件或来自STDIN 的输入。它将每个指定的文件复制到STDOUT ,并在行前附加行号。

句法:

nl [OPTION]... [FILE]...

选项:

-b NUMBER or -bNUMBER : used for numbering body lines
-i NUMBER or -iNUMBER : line number increment at each line
-n FORMAT or -nNUMBER : insert line numbers according to FORMAT
-v NUMBER or -vNUMBER : change first line number of the given input 
-l NUMBER or -lNUMBER : group of NUMBER empty lines are counted as one
-s STRING or -sSTRING : add any STRING after every logical line number
-w NUMBER or -wNUMBER : use different NUMBER columns for line numbers

例子:

注意:将以下文件视为所有示例中的输入。



linux中的nl命令

1. 显示带有行号的文件:对所有非空行进行编号。

$ nl geekfile.txt

显示带有行号的文件

2. 给所有行编号(也包括空行): -ba选项用于给所有行编号,无论是空行还是非空行。

$ nl -b a geekfile.txt

给所有行编号(也包括空行)

3. 将多个连续的非空行算作一个: -l 选项 用于将所有非空行计数为 nl 命令的单个逻辑行。 Linux 将NUMBER个连续的空行视为单个逻辑行进行编号,并且只对最后一行编号。如果出现任何小于NUMBER 的空连续行,它将丢弃它们。

$ nl -l 1 geekfile.txt 
## is same as 
## $ nl geekfile.txt

下面的示例将 3 个连续的空行视为单个逻辑行。  

$ nl -b a -l 3 geekfile.txt

这里,-ba 选项用于将所有逻辑行(无论是空行还是非空行)视为 nl 命令的输入。



将多条连续的非空行算作一

4. 覆盖默认增量: Linux 中的默认增量模式是 1。这可以使用-i选项更改。第一行编号为 1,不能使用-i更改。

$ nl -i 3 geekfile.txt
or
$ nl -i3 geekfile.txt

覆盖默认增量

5.使起始行号不同:默认行号为 1。这可以使用 -v 选项更改。

nl -v 4 geekfile.txt
or
nl -v4 geekfile.txt

要使起始行号不同:

6. 在行号之后添加字符串字面量:可以使用 -s 选项在行号之后添加任何字符串字面量。

$ nl -s "..." geekfile.txt

在行号后添加字符串文字:

7. 更改行号的使用 -w 选项可以使用不同的列来显示文件输出。默认列号为 1。

$ nl -w2 geekfile.txt
$ nl -w4 geekfile.txt
$ nl -w6 geekfile.txt
or
$ nl -w 2 geekfile.txt
$ nl -w 4 geekfile.txt
$ nl -w 6 geekfile.txt

请注意下图示例中列号的更改(从左侧增加缩进)。

更改行号列

8. 对匹配指定 REGEX 的所有逻辑行进行编号: -b pREGEXP 选项可用于在仅匹配给定模式的行之前附加行号。以下命令将对以F开头的行进行编号。

$ nl -b pF geekfile.txt

对与指定 REGEX 匹配的所有逻辑行进行编号

9. 使用不同的数字格式打印行:可以使用 -n 选项指定编号格式。默认编号格式为rn 。可用的选项是:

  • ln -> 左对齐,没有前导零
  • rn -> 右对齐,没有前导零
  • rz -> 右对齐前导零
$ nl -n ln geekfile.txt
$ nl -n rn geekfile.txt
$ nl -n rz geekfile.txt

使用不同的数字格式打印行