You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

94 lines
2.3 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

nl
===
在Linux系统中计算文件内容行号
## 说明
**nl命令** 读取 file 参数缺省情况下标准输入计算输入中的行号将计算过的行号写入标准输出。在输出中nl命令根据您在命令行中指定的标志来计算左边的行。输入文本必须写在逻辑页中。每个逻辑页有头、主体和页脚节可以有空节。除非使用`-p`选项nl 命令在每个逻辑页开始的地方重新设置行号。可以单独为头、主体和页脚节设置行计算标志(例如,头和页脚行可以被计算然而文本行不能)。其默认的结果与`cat -n`有点不太一样, nl 可以将行号做比较多的显示设计包括位数与是否自动补齐0等等的功能。
### 语法
```
nl (选项) (参数)
```
```
-b :指定行号指定的方式,主要有两种:
-b a :表示不论是否为空行,也同样列出行号(类似 cat -n)
-b t :如果有空行,空的那一行不要列出行号(默认值)
-n :列出行号表示的方法,主要有三种:
-n ln :行号在萤幕的最左方显示;
-n rn :行号在自己栏位的最右方显示,且不加 0
-n rz :行号在自己栏位的最右方显示,且加 0
-w :行号栏位的占用的位数。
-p :在逻辑定界符处不重新开始计算。
```
### 实例
**用 nl 列出 log2015.log 的内容**
```
root@localhost [test]# nl log2015.log
1 2015-01
2 2015-02
3 ======[root@localhost test]#
```
说明文件中的空白行nl 不会加上行号
**用 nl 列出 log2015.log 的内容,空本行也加上行号**
```
[root@localhost test]# nl -b a log2015.log
1 2015-01
2 2015-02
3
4
5 ======[root@localhost test]#
```
**让行号前面自动补上0统一输出格式**
```
[root@localhost test]# nl -b a -n rz log2015.log
000001 2015-01
000002 2015-02
000003 2015-03
000004 2015-04
000005 2015-05
000006 2015-06
000007 2015-07
000008 2015-08
000009 2015-09
000010 2015-10
000011 2015-11
000012 2015-12
000013 =======
[root@localhost test]# nl -b a -n rz -w 3 log2015.log
001 2015-01
002 2015-02
003 2015-03
004 2015-04
005 2015-05
006 2015-06
007 2015-07
008 2015-08
009 2015-09
010 2015-10
011 2015-11
012 2015-12
013 =======
```
说明:`nl -b a -n rz`命令行号默认为六位,要调整位数可以加上参数`-w 3`调整为3位。