nl命令很好,很强大
指令名称:
nl - 显示文件的行数及内容
语法:
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。
在选项说明中所提到的样式(STYLE)可以是以下其中一个:
a 每一行都加上行号
t 只有非空白的行才加上行号
n 每一行都不加行号
pREGEXP 只有行内容符合正规表示式的才加上行号
在选项里中的格式(FORMAT)可以是以下其中一个:
ln 向左对齐,前面不加零补位
rn 向右对齐,前面不加零补位
rz 向右对齐,前面加零补位
实例说明:
在 cat 指令有个 -n 选项,能为输出加上行数。但 nl 指令则提供了更多这方面的弹性。
1.加上行数
# 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
.....
#
2.变更行数的递增值、显示位数
预设的行数递增值是1,但这可以改变。选项 -i 可以让我们做到这一点。
# nl -i 2 fileA
1 /home
3 |-- SourceCode
5 | |-- MySQL
7 | | |-- filter-requires-mysql.sh
9 | | |-- my.cnf
.....
#
3.除了递增值以外,还有设定显示行数的位数。也就是 -w 选项,程序的默认值为6。
如果有必要的话,我们可以自行更改。
# nl -n rz -w 3 bb
001 /home
002 |-- SourceCode
003 | |-- MySQL
004 | | |-- filter-requires-mysql.sh
005 | | |-- my.cnf
.....
#
原网站地址:http://blog.chinaunix.net/uid-639516-id-2692145.html
Chocoo
2016.3.8
------------------------------------------------------------------------------------------------------------------------------------------------
Linux新人,欢迎各种指点。
感谢锋哥指点迷津!