指令名称:

    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. Linux常用命令收集

    rsync -avH --progress felix/ /home/magnum/work-environment/ 同步本地文件夹,异常中断后仍然可以续传 rsync -avH --progres ...

  2. [ZETCODE]wxWidgets教程五:布局管理

    本教程原文链接:http://zetcode.com/gui/wxwidgets/layoutmanagement/ 翻译:瓶哥 日期:2013年12月4日星期三 邮箱:414236069@qq.co ...

  3. CocoaPods不更新spec仓库进行install/update

    最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动 原因在于当执行以上两个命令的时候会升级Co ...

  4. Intent是什么?

    一.理解Intent: 在一个Android应用中,主要是由四种组件组成的,这四种组件可参考“Android应用的构成”.而这四种组件是独立的,它们之间可以互相调用,协调工作,最终组成一个真正的And ...

  5. 食品药检所LIMS需求分析说明书

    1.XX市食品药检所LIMS系统需求分析... 5 1.1检验业务流程... 5 1.1.1样品受理... 5 1.1.1.1选择受理任务... 5 1.1.1.2录入检品信息... 5 1.1.1. ...

  6. Nginx的事件处理机制

    Nginx的事件处理机制:对于一个主要的webserver来说,事件通常有三种类型,网络事件.信号.定时器. 首先看一个请求的基本过程:建立连接---接收数据---发送数据 .再次看系统底层的操作 : ...

  7. 报错:System.Data.Entity.Infrastructure.DbUpdateException 更新条目时出错

    背景 往数据库添加数据,前端验证通过的情况下,提交报错,程序停在了SaveChanges()这行,并报如上错误. 分析 猜想是提交的领域模型不符合数据库要求,但不知道具体哪里出错.网上查资料,有人发现 ...

  8. Android开发_后台任务task管理_allowTaskReparenting alwaysRetainTaskState clearTaskOn

    1.android:allowTaskReparenting 这个属性用来标记一个Activity实例在当前应用退居后台后,是否能从启动它的那个task移动到有共同affinity的task,“tru ...

  9. [R] Draw a wordcloud

    # 加载rJava.Rwordseg库 library(rJava); library(Rwordseg); library(RColorBrewer); # == 读入数据 lecture=read ...

  10. Linux 内核使用的 GNU C 扩展

    gcc核心扩展linuxforum(转)=========================== Linux 内核使用的 GNU C 扩展 =========================== GNC ...