Linux命令之nl命令

nl 命令在 Linux 系统中用来计算文件中行号。nl 可以将输出的文件内容自动的加上行号,其默认的结果和

与 cat -n 有点不太一样,nl 可以将行号做比较多的显示设计,包括位数是否自动补齐 0 等等的功能

1.命令格式:

nl [选项] [文件]

2.命令参数:

-b :  指定行号指定的方式,主要有两种
     -b a :表示无论是否为空行,也同样列出行号(类似 cat -n)
     -b t:表示有空行,空的那一行不要列出行号(默认值)
-n:列出行号表示的方法,主要有三种
     -n ln :行号在萤幕的最左方显示; 
     -n rn :行号在自己栏位的最右方显示,且不加 0 ; 
     -n rz :行号在自己栏位的最右方显示,且加 0 ;
 -w :行号栏位的占用的位数; 
 -p :在逻辑定界符处不重新开始计算。

3.使用示例

#Eaxmple01 用 nl 列出 log2018.log 的内容

命令:

nl log2018.lg

输出如下(文件中没有空白行):

[root@VM_81_181_centos xiaoming]# nl log2018.log 
     1	2018-01
     2	2018-02
     3	2018-03
     4	2018-04
     5	2018-05
     6	2018-06
     7	2018-07
     8	2018-08
     9	2018-09
    10	2018-10
[root@VM_81_181_centos xiaoming]# 

输出如下(文件中有空白行):

[root@VM_81_181_centos xiaoming]# nl log2018.log 
     1	2018-01
     2	2018-02
     3	2018-03
     4	2018-04
       
       
     5	2018-05
     6	2018-06
     7	2018-07
     8	2018-08
     9	2018-09
    10	2018-10
[root@VM_81_181_centos xiaoming]# 

说明:文件中的空白行,nl 不会加上行号

# Example02 用 nl 列出 log2018.log 的内容,空白行也加上行号

[root@VM_81_181_centos xiaoming]# nl -b a log2018.log 
     1	2018-01
     2	2018-02
     3	2018-03
     4	2018-04
     5	
     6	
     7	2018-05
     8	2018-06
     9	2018-07
    10	2018-08
    11	2018-09
    12	2018-10
[root@VM_81_181_centos xiaoming]#

  

使用  cat -n  输出如下(文件中有空白行):

[root@VM_81_181_centos xiaoming]# cat -n log2018.log 
     1	2018-01
     2	2018-02
     3	2018-03
     4	2018-04
     5	
     6	
     7	2018-05
     8	2018-06
     9	2018-07
    10	2018-08
    11	2018-09
    12	2018-10
[root@VM_81_181_centos xiaoming]# 

说明:文件中的空白行,cat -n 会加上行号

# Example03 列出行号的显示位置

[root@VM_81_181_centos xiaoming]# nl -b a -n ln log2018.log 
1     	2018-01
2     	2018-02
3     	2018-03
4     	2018-04
5     	
6     	
7     	2018-05
8     	2018-06
9     	2018-07
10    	2018-08
11    	2018-09
12    	2018-10
[root@VM_81_181_centos xiaoming]# nl -b a -n rn log2018.log 
     1	2018-01
     2	2018-02
     3	2018-03
     4	2018-04
     5	
     6	
     7	2018-05
     8	2018-06
     9	2018-07
    10	2018-08
    11	2018-09
    12	2018-10
[root@VM_81_181_centos xiaoming]# nl -b a -n rz log2018.log 
000001	2018-01
000002	2018-02
000003	2018-03
000004	2018-04
000005	
000006	
000007	2018-05
000008	2018-06
000009	2018-07
000010	2018-08
000011	2018-09
000012	2018-10
[root@VM_81_181_centos xiaoming]#

nl -b a -n rz 命令默认为 6 位,如果要调整位数,可以加上-w 3 调整为 3 位

[root@VM_81_181_centos xiaoming]# nl -b a -n rz -w 3 log2018.log 
001	2018-01
002	2018-02
003	2018-03
004	2018-04
005	
006	
007	2018-05
008	2018-06
009	2018-07
010	2018-08
011	2018-09
012	2018-10
[root@VM_81_181_centos xiaoming]#
原文地址:https://www.cnblogs.com/leeyongbard/p/9556838.html