指令名称:

    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. 机器学习-review-1 线性回归

    发现隔一段时间,忘记了好多知识点,这里认为重要的知识点记录下来,作为笔记,方便以后回顾. From “李航- 统计学习方法” 统计学习方法的三要素: 模型,策略, 算法 对于线性回归 -------- ...

  2. 前端自动生成/加载CSS

    前言: 1.我很懒! 2.写样式时,很多时候需要单独设置长度.宽度.内间距.外间距等.于是,就会有很多CSS代码会出现很多类似以下的代码: .w20: { width: 20px; } .mt10: ...

  3. Tornado自定义分布式session框架

    一.session框架处理请求执行的流程: 1.服务器端生成随机的cookie字符串 2.浏览器发送请求,服务器将cookie返回给浏览器. 3.服务器在生成一个字典.字典的key为cookie,va ...

  4. NIO机制总结

    Selector selector = Selector.open(); 普通的IO流的读取,写入都是一个字节一个字节或一个字符一个字符的循环进行,在这个过程中,程序是阻塞的,inputStream虽 ...

  5. ASP.NET MVC提交到服务器的几种方法

    多年不搞WEB开发了,最近有个小活干干,记录一下学习的心得. 以下为几种脚本向服务器提交的方法: 1. $.ajax({ type: "GET", url: "/Test ...

  6. swift小结01--基础篇

    2014年推出的swift目前已来到了3.0,日趋稳定,这个是之前学习整理的关于swift的资料,分享给大家,希望有用,写的不足的地方还请见谅. 语言背景:         Swift 语言由苹果公司 ...

  7. 在JBoss中部署GeoServer

    GeoServer一直就不能在 JBoss应用服务器中正常部署.最近我在一个国外的论坛上找到了该问题的解决方案.以下方法经测试,可以将GeoServer 2.1.3 成功部署在 JBoss 5.0 和 ...

  8. Android 中 更新视图的函数ondraw() 和dispatchdraw()的区别

    绘制VIew本身的内容,通过调用View.onDraw(canvas)函数实现 绘制自己的孩子通过dispatchDraw(canvas)实现 View组件的绘制会调用draw(Canvas canv ...

  9. Java中PreparedStatement和Statement的用法区别(转)

    1. PreparedStatement接口继承Statement, PreparedStatement 实例包含已编译的 SQL 语句,所以其执行速度要快于 Statement 对象.   2.作为 ...

  10. Oracle 插入数据效率对比

    oracle插入数据有多种方式: 将从多个表中查出来的数据插入到临时表中 数据行数 5189597 1.传统方式:直接将数据插入到表中 insert into LLB_BASIC_USER_D_TEM ...