显示文件时增加行号
nl [-p] [-b style] [-d cc] [-f style] [-h style] [-i num] [-l num] [-n fmt] [s str] [-v num] [-w num] [files]
nl [--help] [--version]
nl命令读取指定的文件或标准输入,把读取的数据写到标准输出,同时在每个数据行前面插入一个行号。其中,files是一个或一组文本文件。如果未指定输入文件,或指定的文件名为“-”,则直接读取标准输入。
nl能够处理事先已经划分为逻辑页的输入文件。每当遇到一个逻辑页时,nl都会从1开始重新编号。如果没有事先划分逻辑页,不管指定了多少输入文件,nl通常都会把所有文件作为一个文件处理,不会在文件之间重新编排行号或划分逻辑页。
如果想在文件中划分逻辑页,每个逻辑页可由3部分组成:页眉、实体和页脚。任何一部分都可以空缺。如果文件中的某个数据行仅仅包含下列分隔字符串之一,则标志着一个逻辑页组成部分的开始:
\:\:\: 逻辑页页眉的开始
\:\: 逻辑页实体的开始
\: 逻辑页页脚的开始
用户可以采用任何双字符作为分隔字符串,但上述风格、长度和其他要求不能变。如果输入文件采用不同的分隔字符串划分逻辑页,则运行nl命令时可以使用“-d”选项指定匹配的分隔字符串。
对于输入文件中的分隔字符串,nl将会代之以空行输出。在输入文件中,位于第一个逻辑页分隔字符串之前的任何数据,都会作为第一个逻辑页实体的一部分一起考虑。因此,nl会把没有划分逻辑页的整个输入文件作为一个逻辑页处理。
-b style, --body-numbering=style 使用指定的风格插入行号。其中style可以是a(包括空行在内,所有数据行均编号)、t(仅对非空的数据行编号)、n(不编行号)或pBRE(仅对包含匹配指定基本模式BRE的数据行编号)。
-d cc, --section-delimiter=cc 使用指定的分隔符分割逻辑页,分隔符cc由两个字符组成,默认的分隔符是“\:”。如果省略了第二个分隔字符,蕴含着使用句点“.”作为分隔字符。注意,“\”是一个元字符,指定时须加引号或再加一个“\”。
-f style, --footer-numbering=style 使用指定的风格编排页脚的行号。参见“-b”选项。
-h style, --header-numbering=style 使用指定的风格编排页眉的行号。参见“-b”选项。
-i num, --line-increment=num 指定行号的增量,默认的行号增量为1。
-l num, --join-blank-lines=num 指定把多少空行作为一行考虑,默认值为1。例如,选项 “-l 2”表示仅对第二个相邻的空行编号(忽略第一个空行)。
-n fmt, --number-format=fmt 指定行号插入格式,行号插入格式fmt可以是ln(左对齐,省略前置0)、rn(右对齐,省略前置0)或rz(右对齐,保持前置0)。默认的行号插入格式是rn。
-p, --no-renumber 禁止在每个逻辑页内重新编号。
-s str, --number-separator=str 在行号之后追加指定的字符串(如果可能),作为行号与实际数据的分隔符。默认的分隔符是制表符。
-v num, --starting-line-number=num 指定每个逻辑页的起始行号。默认的起始行号是1。
-w num, --number-width=num 指定显示行号的列数,默认的列宽为6个字符位置。
1. 如果不加任何选项直接运行nl命令,表示从1开始编号,行号增量为1,行号列宽为6,行号右对齐,以及空行不编号等。
$ nl /etc/passwd 1 root:x:0:0:root:/root:/bin/bash 2 bin:x:1:1:bin:/bin:/sbin/nologin 3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
2. 显示指定的文件,从10开始编号,行号增量也是10,行号列宽为6,右对齐,空行不编号。
$ nl -v 10 -i 10 /etc/passwd 10 root:x:0:0:root:/root:/bin/bash 20 bin:x:1:1:bin:/bin:/sbin/nologin 30 daemon:x:2:2:daemon:/sbin:/sbin/nologin
索引:A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z