Linux 的 nl 命令

张开发
2026/4/11 13:09:38 15 分钟阅读

分享文章

Linux 的 nl 命令
nl是 Linux 系统中一个实用的命令行工具用于为输入文本添加行号。它属于 GNU coreutils 工具集的一部分默认安装在大多数 Linux 发行版中。基本功能nl命令的主要功能是为文本文件或标准输入的内容添加行号。与简单的cat -n不同nl提供了更丰富的行号格式化选项。基本语法nl [选项]... [文件]...如果未指定文件或指定为-则从标准输入读取数据。常用选项-b 样式指定行号样式a为所有行编号默认t仅为非空行编号n不编号-v 起始值设置行号的起始值默认为1-i 增量设置行号增量默认为1-w 宽度设置行号字段宽度默认为6-s 分隔符设置行号与文本间的分隔符默认为制表符-n 格式设置行号格式ln左对齐无前导零rn右对齐无前导零默认rz右对齐有前导零使用示例基本使用$nlexample.txt1第一行内容2第二行内容3第三行内容从管道读取$catexample.txt|nl只对非空行编号$nl-bt example.txt自定义行号格式$nl-nrz-w3-s: example.txt 001: 第一行内容 002: 第二行内容 003: 第三行内容设置起始行号$nl-v10example.txt10第一行内容11第二行内容12第三行内容高级用法nl支持逻辑页面的概念可以识别文件中的分节标记默认是\:开头的行为分节标记。可以使用-h和-f选项分别设置头和脚注的编号样式。$nl-ha-fa-bt sectioned_file.txt应用场景日志文件分析为日志文件添加行号便于引用特定行代码审查为代码片段添加行号便于讨论文档处理为文本添加结构化编号脚本调试为脚本输出添加行号便于定位问题与其他命令对比cat -n简单地为所有行添加行号功能不如nl丰富pr -n主要用于格式化打印行号功能是附加的awk {print NR,$0}使用 awk 实现类似功能但语法更复杂nl在需要精细控制行号格式时特别有用是处理文本文件时的一个强大工具。

更多文章