用来在 Linux 系统中计算文件的行号,可以将输出的内容自动的加上行号。与 cat -n 不一样的是,nl 可以对行号做更多的显示设计,包括 位数 与 是否自动补齐0 等功能;
命令格式 - nl [选项]… [文件]…
命令参数 -
-b :指定行号显示的条件,主要有两种:
-n :指定行号显示的样式,主要有三种:
-w :行号栏位占用的位数,默认为6;
-p :在逻辑定界符处不重新计算;
命令功能 -
命令实例 -
实例一:用 nl 列出 log2.log 的内容
命令
xxxxxxxxxx
11nl log2.log
输出
xxxxxxxxxx
71Qs-MacBook-Pro:dir1 qiu$ nl log2.log
2 1 2019-01
3 2 2019-02
4
5
6 3 2019-03
7 4 2019-04
说明
默认情况下,空白行不会加上行号;
实例二:用 nl 列出 log2.log 的内容,空白行也加上行号
命令
xxxxxxxxxx
11nl -b a log2.log
输出
xxxxxxxxxx
71Qs-MacBook-Pro:dir1 qiu$ nl -b a log2.log
2 1 2019-01
3 2 2019-02
4 3
5 4
6 5 2019-03
7 6 2019-04
说明
使用 -b 时一定要带后续参数,-b a 或者 -b t ,不带参数会报错;
实例三:行号靠最左侧显示
命令
xxxxxxxxxx
11nl -b a -n ln log2.log
输出
xxxxxxxxxx
71Qs-MacBook-Pro:dir1 qiu$ nl -b a -n ln log2.log
21 2019-01
32 2019-02
43
54
65 2019-03
76 2019-04
说明
和 -b 一样,使用 -n 时一定要带上后续参数, -n ln 或者 -n rn 或者 -n rz ;
实例四:行号在行号栏位靠右显示,左侧补0且只显示3位
命令
xxxxxxxxxx
11nl -b a -n rz -w 3 log2.log
输出
xxxxxxxxxx
71Qs-MacBook-Pro:dir1 qiu$ nl -b a -n rz -w 3 log2.log
2001 2019-01
3002 2019-02
4003
5004
6005 2019-03
7006 2019-04
说明
行号栏位默认显示 6 位,使用参数 -w 3 调整为 3 位 ;