nl命令在Linux系统中s用来计算文件的行号,是 number of lines 的缩写。nl可以将输出的文件自动加上行号!其默认的结果与cat -n有点不太一样,nl可以自定义行号显示效果,包括位数和自动补全0。

命令格式

nl [选项]... [文件]...

命令参数

绿框标注的就是显示栏,默认占6位。

  • -b a 无论是否是空行都列出行号
  • -b t 空行不列出行号(默认)。
  • -n ln 行号在显示栏的最左边显示。
  • -n rn 行号在显示栏的最右边显示,不填充0。
  • -n rz 行号在显示栏的最右边显示(默认)。
  • -w 行号显示栏占用的位数,(默认是6位)。
  • -p 在逻辑定界符处不重新开始计算

命令功能
nl 命令读取 File 参数(缺省情况下标准输入),计算输入中的行号,将计算过的行号写入标准输出。 在输出中,nl 命令根据您在命令行中指定的标志来计算左边的行。 输入文本必须写在逻辑页中。每个逻辑页有头、主体和页脚节(可以有空节)。 除非使用 -p 标志,nl 命令在每个逻辑页开始的地方重新设置行号。 可以单独为头、主体和页脚节设置行计算标志(例如,头和页脚行可以被计算然而文本行不能)。

用nl列出rumenz.txt的行号
> nl rumenz.txt
     1  入门小站
       
     2  rumenz
       
     3  ping
       
     4  入门
 
文件中有空行,默认不加行号

用nl列出rumenz.txt的行号,包括空行
> nl -b a rumenz.txt
     1  入门小站
     2
     3  rumenz
     4
     5  ping
     6
     7  入门
 
行号前面填充0
> nl -b a -n rz rumenz.txt
000001  入门小站
000002
000003  rumenz
000004
000005  ping
000006
000007  入门
 
默认效果是占6位

行号显示栏占3位,并且填充0
> nl -b a -n rz -w 3 rumenz.txt
001     入门小站
002
003     rumenz
004
005     ping
006
007     入门
 
使用定制的编号分隔符
> nl -s :: rumenz.txt

     1::入门小站
        
     2::rumenz
        
     3::ping
        
     4::入门