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]#