nl
命令在Linux
系统中用来计算文件的行号,是 number of lines 的缩写。nl
可以将输出的文件自动加上行号!其默认的结果与cat -n
有点不太一样,nl
可以自定义行号显示效果,包括位数和自动补全0。
命令格式
nl [选项]... [文件]...
命令参数
image-20210205222812471
绿框标注的就是显示栏,默认占6位。
- -b a 无论是否是空行都列出行号
- -b t 空行不列出行号(默认)。
- -n ln 行号在显示栏的最左边显示。
- -n rn 行号在显示栏的最右边显示,不填充0。
- -n rz 行号在显示栏的最右边显示(默认)。
- -w 行号显示栏占用的位数,(默认是6位)。
- -p 在逻辑定界符处不重新开始计算
命令功能
nl 命令读取 File 参数(缺省情况下标准输入),计算输入中的行号,将计算过的行号写入标准输出。在输出中,nl 命令根据您在命令行中指定的标志来计算左边的行。输入文本必须写在逻辑页中。每个逻辑页有头、主体和页脚节(可以有空节)。除非使用 -p 标志,nl 命令在每个逻辑页开始的地方重新设置行号。可以单独为头、主体和页脚节设置行计算标志(例如,头和页脚行可以被计算然而文本行不能)。
用nl
列出rumenz.txt
的行号
代码语言:javascript复制> nl rumenz.txt
1 入门小站
2 rumenz
3 ping
4 入门
文件中有空行,默认不加行号
用nl
列出rumenz.txt
的行号,包括空行
代码语言:javascript复制> nl -b a rumenz.txt
1 入门小站
2
3 rumenz
4
5 ping
6
7 入门
行号前面填充0
代码语言:javascript复制> nl -b a -n rz rumenz.txt
000001 入门小站
000002
000003 rumenz
000004
000005 ping
000006
000007 入门
默认效果是占6位
行号显示栏占3位,并且填充0
代码语言:javascript复制> nl -b a -n rz -w 3 rumenz.txt
001 入门小站
002
003 rumenz
004
005 ping
006
007 入门
使用定制的编号分隔符
代码语言:javascript复制> nl -s :: rumenz.txt
1::入门小站
2::rumenz
3::ping
4::入门