- 论坛徽章:
- 0
|
nl命令很好,很强大
- 指令名称:
- nl(1) - 显示文件的行数及内容
- 语法:
- nl [OPTION]... [FILE]...
- 说明:
- 将指定文件的内容附加上行数,显示到标准输出。当没有指定文件名或使用 "-" 符号时,数据将由标准输入读入。
- 如果你看完以下的选项说明,你会知道,这是个功能相当不错的指令。
- 选项:
- -b, --body-numbering=STYLE
- 自订附加的行号样式(STYLE)
- -d, --section-delimiter=CC
- 使用 CC 字符分辨标头、内容和脚注
- -f, --footer-numbering=STYLE
- 自订脚注附加的行号样式(STYLE)
- -h, --header-numbering=STYLE
- 自订标头附加的行号样式(STYLE)
- -i, --page-increment=NUMBER
- 自订行的递增数(NUMBER)
- -l, --join-blank-lines=NUMBER
- 指定空白行的合并行数(NUMBER),将 n 行合并成一行。
- -n, --number-format=FORMAT
- 指定附加行数的格式(FORMAT)
- -p, --no-renumber
- 分页后不重设行数
- -s, --number-separator=STRING
- 插入指定的字符串(STRING)分隔行号和内容
- -v, --first-page=NUMBER
- 设定每页第一行的行数(NUMBER)
- -w, --number-width=NUMBER
- 自订显示行数的位数(NUMBER)
- --help
- 显示程序用法信息
- --version
- 显示程序本身的版本信息
- 指令预设的选项为 -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn。CC 是两个用来分辨每页的标头、内容和脚注的字符;如果没有指定第二个字符则表示是 :。请输入 \\ 表示 \ 字符。
- 在选项说明中所提到的样式(STYLE)可以是以下其中一个:
- a 每一行都加上行号
- t 只有非空白的行才加上行号
- n 每一行都不加行号
- pREGEXP 只有行内容符合正规表示式的才加上行号
- 在选项里中的格式(FORMAT)可以是以下其中一个:
- ln 向左对齐,前面不加零补位
- rn 向右对齐,前面不加零补位
- rz 向右对齐,前面加零补位
- 实例说明:
- 在 cat 指令有个 -n 选项,能为输出加上行数。但 nl 指令则提供了更多这方面的弹性。
- 加上行数
- # cat -n fileA
- # nl fileA
- 以上这两种方式,都可以为文件 fileA 的显示,加上需要的行号。
- 但如果想要让附加的行数,做左右对齐或者是补零的动作就得依赖 nl 指令来做了。
- # nl -n rz fileA
- 000001 /home
- 000002 |-- SourceCode
- 000003 | |-- MySQL
- 000004 | | |-- filter-requires-mysql.sh
- 000005 | | |-- my.cnf
- .....略
- 变更行数的递增值、显示位数
- 预设的行数递增值是1,但这可以改变。选项 -i 可以让我们做到这一点
- # nl -i 2 fileA
- 1 /home
- 3 |-- SourceCode
- 5 | |-- MySQL
- 7 | | |-- filter-requires-mysql.sh
- 9 | | |-- my.cnf
- .....略
- #
- 除了递增值以外,还有设定显示行数的位数。也就是 -w 选项,程序的默认值为6。如果有必要的话,我们可以自行更改
- # nl -n rz -w 3 bb
- 001 /home
- 002 |-- SourceCode
- 003 | |-- MySQL
- 004 | | |-- filter-requires-mysql.sh
- 005 | | |-- my.cnf
- .....略
- #
- 这篇暂时到此。
复制代码 |
|