指令名称:

    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. Opencl API解释(一)

    首先注明:我用的AMD的opencl,它有很多sample代码,结合代码来解释这些API Opencl 常用的API 汇总总结: 信息查询函数 1. cl_int clGetDeviceInfo(cl ...

  2. 1 storm基本概念 + storm编程规范及demo编写

    本博文的主要内容有 .Storm的单机模式安装 .Storm的分布式安装(3节点)   .No space left on device .storm工程的eclipse的java编写 http:// ...

  3. art template前端模板引擎

    偶然看到后台有一段代码 采用的是art template的模板引擎 地址为 http://aui.github.io/artTemplate/ 这段代码很简洁 var html = template( ...

  4. Linux的文件属性

    在Linux中,文件的拥有者可以将文件的属性设置成三种属性,可读(r).可写(w)和可执行(x).文件又分为三个不同的用户级别,文件的拥有者(u),文件的所属组(g),其他用户(o). 第一个字符显示 ...

  5. uva 1030 - Image Is Everything(迭代更新)

    题目链接:uva 1030 - Image Is Everything 题目大意:有一个最大为n*n*n的立方体的一个不规整立体,由若干个1*1*1的小正方体构成(每一个小正方体被涂成不同的颜色),给 ...

  6. Android项目Tab类型主界面大总结 Fragment+TabPageIndicator+ViewPager

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/24740977 Android如今实现Tab类型的界面方式越来越多,今天就把常见的 ...

  7. 经验总结17--submitbutton,ajax提交

    发篇小文章,纪念七七事变. submit一般用于提交表单,可是想使用ajax进行提交,又想按"enter"触发button. 那么就阻止提交表单的事件,进行自己定义的提交. 1.让 ...

  8. BTrace: DTrace for Java

    BTrace: DTrace for Java… ish DTrace first peered into Java in early 2005 thanks to an early prototyp ...

  9. WPF中将DataGrid导出Excel

    int number = 1; private void MenuItem_Click(object sender, RoutedEventArgs e) { #region string path ...

  10. WebService学习笔记系列(一)

    webservice主要是解决两个系统或者两个应用程序之间的远程调用,它提供了一种通过web方式访问的api,调用是跨语言.跨平台的. webservice的客户端与服务端进行交互的时候使用xml来传 ...