nl 命令详解

来源:互联网 发布:数据保密性指的是 编辑:程序博客网 时间:2024/05/18 09:09

用途

 计算文件中行号。

 语法

nl [ -b Type ] [-f Type ] [-h Type ] [ -l Number ] [-d Delimiter ] [-i Number ] [-n Format ] [-v Number ] [-w Number ] [-p ] [ -s Separator ] [File ]

 描述

 nl 命令读取 File 参数(缺省情况下标准输入),计算输入中的行号,把计算过的行号写入标准输出。在输出中,nl 命令根据您在命令行中指定的标志来计算左边的行。

 输入文本必须写在逻辑页中。每个逻辑页有头、主体和页脚节(可以有空节)。除非使用 -p 标志,nl 命令在每个逻辑页开始的地方重新设置行号。可以单独为头、主体和页脚节设置行计算标志(例如,头和页脚行可以被计算然而文本行不能)。

 

用信号通知只包含下列定界符的文件中行的逻辑页节的开始:

行内容哪一节的开始\:\:\:\:\:主体\:页脚

在命令行上只能命名一个文件。可以以任何顺序列出标志和文件名。

 

标志

 所有参数都用缺省值来设置。使用下列标志更改缺省设置。除 -s 标志外,请输入不带变量的-n 标志来查看它的缺省值。

-b Type选择主体节的行来计算。对 Type 变量的认可的值是:

a
计算所有行
t
不计算空行或包含任何非图形符号如包含 tab 的行。(缺省)
n
不计算任何行
pPattern
只计算那些被 Pattern 变量指定的行
-d Delimiter使用 Delimiter 变量指定的两个字符作为逻辑页节开始的定界符。缺省字符是 \:(反斜杠、冒号)。您可指定两个 ASCII 字符,两个 1 字节扩展字符或一个扩展字符。如果您在-d标志后只输入了一个 1 字节字符,第二个字符维持缺省值(冒号)。如果您想使用反斜杠作为定界符,请输入两个反斜杠 ( \\ )。-f Type选择逻辑页页脚的行来计算。Type 变量的可能的值和 -b 标志的可能值相同。Type 变量的缺省值是n(没有行被计算)。-h Type选择逻辑页头的行来计算。Type 变量的可能的值和 -b 标志的可能的值相同。Type 变量的缺省值是n (没有行被计算)。-i Number逻辑页行号增加 Number 变量指定的数目。Number 变量的缺省值是 1。Number 变量的范围是从 1 到 250。-l Number(小写字母 l)使用在 Number 参数中指定的值作为计算为一的空行数。例如,-l3 一系列中每三个空行计一次数。Number 变量的缺省值是 1。当设置了-ha-ba-fa 选项该标志起作用。Number 变量的范围是从 1 到 250。-n Format使用 Format 变量的值作为行计算格式。认可的格式是:
ln
左对齐,前导零不计
rn
右对齐,前导零不计(缺省)
rz
右对齐,前导零保留
-p在逻辑定界符处不重新开始计算。-s Separator用在 Separator 变量中指定的字符将文本和行号分隔开。Separator 变量的缺省值是制表符(tab)。-v Number设置初始逻辑页行号为在 Number 变量中指定的值。Number 变量的缺省值是 1。Number 变量的范围是从 0 到 32767。-w Number使用通过 Number 变量指定的值作为行号中字符的数量。 Number 变量的缺省值是 6。Number 变量的范围是从 1 到 20。

退出状态

 该命令返回下列出口值:

0成功完成。>0发生错误。

示例

  1. 只计算无空格行,请输入:

    nl  chap1

    这个显示 chap1 的计算列表,只计算了主体节中非空行。如果 chap1 没有包含 \:\:\+:,或 \: 定界符,那么整个文件被认为主体。

  2. 要计算所有行:

    nl  -ba  chap1

    这计算主体节的所有行,包括空行。 nl 命令的这种格式对大部分使用是适用的。

  3. 指定不同的行号格式,请输入:

    nl  -i10  -nrz  -s::  -v10  -w4  chap1

    这个计算以 10 ( -v10)开头并且以 10 (-i10)统计的 chap1 的行。它为每个数显示 4 个数字(-w4),包括引导零(-nrz)。行号被两个冒号(-s : :)从文本中分离。

    例如,如果 chap1 包含文本:

    A  not-so-important                    not   to   remember: You  can't  kill  timewithout  injuring  eternity.

    那么计算列表是:

    0010::A  not-so-important0020::note  to  remember 0030::You  can't  kill  time0040::without  injuring  eternity.

    注意没有计算空行。为了这样做,像示例 2 显示的一样使用 -ba 标志。