指令名称:

    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新人,欢迎各种指点。

感谢锋哥指点迷津!

nl命令很好,很强大的更多相关文章

  1. Unix / 类 Unix shell 中有哪些很酷很冷门很少用很有用的命令?(转)

    著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:孙立伟 链接:http://www.zhihu.com/question/20140085/answer/14107336 ...

  2. Linux下nl命令的用法详解

    Linux中nl命令和cat命令很像,不过nl命令会打上行号,属于比较不常用的命令,下面随小编一起来了解下这个鲜为人知的nl命令吧. nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文 ...

  3. locate,nl命令

    locate 命令 locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案.其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之 ...

  4. iPhone 6 被盗记录二【写在315前夕:苹果售后福州直信创邺在没有三包的情况下帮小偷翻新、助力小偷换机销赃!无视王法。让人震惊,痛心,憎恨!消费者很受伤很无奈】

    投诉公司: 北京直信创邺数码科技有限公司  标题: 写在315前夕:苹果售后在没有三包的情况下帮小偷翻新.助力小偷换机销赃!无视王法.让人震惊,痛心,憎恨!消费者很受伤很无奈 期望: 还我手机,或者赔 ...

  5. 迅雷9、迅雷极速版之迅雷P2P加速:流量吸血鬼?为什么你装了迅雷之后电脑会感觉很卡很卡?

    原文地址:http://www.whosmall.com/post/90 关闭极速版迅雷ThunderPlatform.exe进程 ThunderPlatform.exe目的:利用P2P技术进行用户间 ...

  6. 每天一个linux命令(11):nl命令

    nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等 ...

  7. 每天一个linux命令(9):nl命令

    nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等 ...

  8. nl命令详解

    nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等 ...

  9. [转]linux之nl命令

    转自:http://www.cnblogs.com/peida/archive/2012/11/01/2749048.html nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容 ...

  10. Linux学习之nl命令

    nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等 ...

随机推荐

  1. 让你的Git水平更上一层楼的10个小贴士

    注意:本文中,一些命令包含含有方括号的部分(e.g.git add -p [file_name]).在这些例子中,您要在该处插入所需的数字,标示符等.而不需要保留方括号. 1.Git自动补全 如果你在 ...

  2. ReadingNotes@02-12-2013

    ReadingNotes@02-12-2013 */--> pre { background-color: #2f4f4f;line-height: 1.6; FONT: 10.5pt Cons ...

  3. MySQL数据库MyISAM和InnoDB存储引擎的比较(转)

    MySQL有多种存储引擎,MyISAM和InnoDB是其中常用的两种.这里介绍关于这两种引擎的一些基本概念(非深入介绍). MyISAM是MySQL的默认存储引擎,基于传统的ISAM类型,支持全文搜索 ...

  4. PHP中使用函数array_merge()合并数组

    如果明白数组其实就是map的话,我想你就会明白array_merge为什么要这么实现了 PHP中合并数组分成两种情况 1.如果这两个数组中有相同的字符串键名: <?php header('Con ...

  5. c#将金额转换为大写,支持小数点,原创经典

    网上搜的都有问题,这个代码属于原创,代码简洁,支持小数点,若没有小数点,则为整 /// <summary> /// 将金额转换成大写 /// </summary> /// &l ...

  6. textarea在光标位置插入文字

    最近开发类似计算器界面,需要在textarea中编辑公式,涉及到 在光标位置插入 字符. 效果如下: + - * / 添加文字 // html代码如下: <!doctype html> & ...

  7. 在 VS14 上安装 Visual F# Power Tools

    在 VS14 上安装 Visual F# Power Tools Visual F# Power Tools 眼下版本号 1.3,下载地址:http://visualstudiogallery.msd ...

  8. 【c++】虚函数描写叙述符override

    在C++11中为了帮助程序猿写继承结构复杂的类型,引入了虚函数描写叙述符override,假设派生类在虚函数声明时使用了override描写叙述符,那么该函数必须重载其基类中的同名函数,否则代码将无法 ...

  9. [Node.js] Introduction to apiCheck.js

    timeoutLog.js: var apiCheckFactory = require('api-check'); var myCheck = apiCheckFactory(); module.e ...

  10. iOS上文本绘制的几种方法

    文本绘制在开发客户端程序中是一个比较常用的功能,可分为采用控件和直接绘制两种方式. 采用控件的方式比较简便,添加一个比如UILabel对象,然后设置相关属性就好了.但这种方式局限性也比较大. 直接绘制 ...