nl - 为每一个文件添加行号。

为每一个文件添加行号。

概要

  1. nl [OPTION]... [FILE]...

主要用途

  • 将每一个输入的文件添加行号后发送到标准输出。
  • 当没有文件或文件为-时,读取标准输入
  • 处理逻辑页(logical page)。

选项

  1. -b, --body-numbering=STYLE 使用STYLE body部分的行附加行号。
  2. -d, --section-delimiter=CC 使用CC作为logical page的分隔符。
  3. -f, --footer-numbering=STYLE 使用STYLE footer部分的行附加行号。
  4. -h, --header-numbering=STYLE 使用STYLE header部分的行附加行号。
  5. -i, --line-increment=NUMBER 行号递增间隔为NUMBER
  6. -l, --join-blank-lines=NUMBER 连续NUMBER行的空行作为一行处理。
  7. -n, --number-format=FORMAT 根据FORMAT插入行号。
  8. -p, --no-renumber 不要在每个部分重置行号。
  9. -s, --number-separator=STRING 在行号后添加字符串STRING
  10. -v, --starting-line-number=NUMBER 每部分的起始行号。
  11. -w, --number-width=NUMBER 行号宽度为NUMBER
  12. --help 显示帮助信息并退出。
  13. --version 显示版本信息并退出。
  14. 默认选项为:-bt -d'\:' -fn -hn -i1 -l1 -nrn -sTAB -v1 -w6
  15. CC是由两个字符组成的,默认为\: ,第二个字符如果缺失则默认为:
  16. STYLE可以为下列可用值之一:
  17. a 所有行标记行号。
  18. t 仅为非空行标记行号。
  19. n 不标记行号。
  20. pBRE 符合基础正则表达式(BRE)的行会标记行号。
  21. FORMAT可以为下列可用值之一:
  22. ln 左对齐,不会在开始部分补充0以满足宽度。
  23. rn 右对齐,不会在开始部分补充0以满足宽度。
  24. rz 右对齐,会在开始部分补充0以满足宽度。
  25. logical page
  26. 三部分组成(header body footer
  27. 起始标记(header \:\:\: body \:\: footer \:

参数

FILE(可选):要处理的文件,可以为一或多个。

返回值

返回0表示成功,返回非0值表示失败。

例子

  1. nl_logicalpage.txt:该文件用于说明nl命令处理逻辑页,内容如下:
  2. \:\:\:
  3. header_1
  4. \:\:
  5. body_1
  6. \:
  7. footer_1
  8. \:\:\:
  9. header_2
  10. \:\:
  11. body_2
  12. \:
  13. footer_2
  1. [user2@pc ~]$ nl nl_logicalpage.txt
  2. header_1
  3. 1 body_1
  4. footer_1
  5. header_2
  6. 1 body_2
  7. footer_2
  8. [user2@pc ~]$ nl -v0 -fa -ha nl_logicalpage.txt
  9. 0 header_1
  10. 1 body_1
  11. 2 footer_1
  12. 0 header_2
  13. 1 body_2
  14. 2 footer_2
  15. [user2@pc ~]$ nl -p -fa -ha nl_logicalpage.txt
  16. 1 header_1
  17. 2 body_1
  18. 3 footer_1
  19. 4 header_2
  20. 5 body_2
  21. 6 footer_2
  1. nl_normal.txt:该文件用于说明nl命令处理普通文件,内容如下:
  2. ZhuangZhu-74
  3. 2019-11-21
  4. 127.0.0.1
  1. [user2@pc ~]$ nl nl_normal.txt
  2. 1 ZhuangZhu-74
  3. 2 2019-11-21
  4. 3 127.0.0.1
  5. [user2@pc ~]$ nl -b p'1$' nl_normal.txt
  6. ZhuangZhu-74
  7. 1 2019-11-21
  8. 2 127.0.0.1
  9. [user2@pc ~]$ nl -b p'^[A-Z]' nl_normal.txt
  10. 1 ZhuangZhu-74
  11. 2019-11-21
  12. 127.0.0.1

注意

  1. 该命令是GNU coreutils包中的命令,相关的帮助信息请查看man -s 1 nlinfo coreutils 'nl invocation'