> 文本处理与搜索 > nl

nl: 文件行号标记

nl 命令为文件的每一行添加行号并输出到标准输出。可以通过多种选项控制是否包含空行、行号的格式以及分隔符等,这在分析日志文件或审查代码时非常有用。

概述

nl 命令为标准输入或指定文件的每一行添加行号并输出到标准输出。它主要用于提高文本文件的可读性或引用特定行。

主要功能

  • 文件行号标记
  • 控制空行的行号标记
  • 自定义行号格式和分隔符
  • 设置页眉/正文/页脚区域的行号标记

主要选项

nl 命令的主要选项用于控制行号标记方式、格式和分隔符。

行号标记方式

行号格式和分隔符

生成的命令:

请尝试组合命令。

描述:

`nl` 执行命令。

通过组合这些选项,您可以与 AI 一起虚拟地执行命令。

使用示例

通过 nl 命令的各种使用示例,了解如何有效地为文件的行添加行号。

基本行号标记

echo -e 'Line 1\n\nLine 3' | nl

为文件的所有行添加行号。(默认行为)

仅为非空行添加行号

echo -e 'Line 1\n\nLine 3' | nl -b t

仅为有内容的行添加行号,跳过空行。

使用自定义分隔符

echo -e 'First line\nSecond line' | nl -s ' -> '

在行号和文本之间使用特定的字符串作为分隔符。

指定行号宽度和格式

echo -e 'Line 1\nLine 10\nLine 100' | nl -w 3 -n rz

将行号的最小宽度设置为 3,并使用零填充右对齐。

仅为匹配正则表达式的行添加行号

echo -e 'Line 1\nAnother line\nLine 2' | nl -b p'^Line'

仅为匹配特定正则表达式 (`^Line`) 的行添加行号。

提示与注意事项

为了更有效地使用 nl 命令,这里提供一些提示和需要注意的事项。

使用技巧

  • 可以与其他文本处理命令(例如 `grep`、`sed`、`awk`)通过管道符(`|`)连接,仅为特定条件的行添加行号,或者在已添加行号的文件上执行进一步操作。
  • 默认情况下,`nl` 使用制表符作为分隔符,因此根据终端设置,行号和文本之间的间距可能会有所不同。建议使用 `-s` 选项指定显式分隔符。
  • 使用 `-b pREGEX` 选项时,正则表达式遵循基本正则表达式(BRE)语法。如果需要使用扩展正则表达式(ERE),可以考虑使用 `grep -n` 或 `awk` 代替 `nl`。

相同类别命令