前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nl(1) command

nl(1) command

作者头像
恋喵大鲤鱼
发布2024-05-24 14:36:46
290
发布2024-05-24 14:36:46
举报
文章被收录于专栏:C/C++基础C/C++基础
大咖好呀,我是恋喵大鲤鱼。

鄙人第二本开源书籍《后台开发命令365》上线啦,欢迎大家协同共建。

1.命令简介

nl(number line)命令用于计算文件的行号并将带有行号的内容输出到标准输出。

相比于命令 cat -n,nl 可以对行号做比较多的显示设置,包括位数与是否自动补齐 0 等功能。

2.命令格式

代码语言:javascript
复制
nl [OPTION]... [FILE]...

在没有文件或文件是 - 时,从标准输入读取内容。

3.选项说明

注意,长选项的强制性参数对于短选项也是强制的。

代码语言:javascript
复制
-b, --body-numbering=STYLE
	使用指定样式给文件的正文行编号。STYLE 可取值如下:
	a:给所有行编号,不论其是否为空行(类似 cat -n)
	t:只给非空行编号
	n:不编行
	pBRE:只给包含基本正则表达式(basic regular expression,BRE)的行编号
-d, --section-delimiter=CC
	使用 CC 作为逻辑页分隔符
-f, --footer-numbering=STYLE
	使用指定样式给文件的页脚行编号。STYLE 可取值同上
-h, --header-numbering=STYLE
	使用指定样式给文件的页脚行编号。STYLE 可取值同上
-i, --line-increment=NUMBER
	使用指定增量增加行号
-l, --join-blank-lines=NUMBER
	将指定数量的一组空行视为 1 行
-n, --number-format=FORMAT
	指定行号格式,FORMAT 主要有三种:
	ln:左对齐,无前导 0
	rn:右对齐,无前导 0
	rz:右对齐,有前导 0 
-p, --no-renumber
	不要重置每个区段的行号
-s, --number-separator=STRING
	可能的话在行号后添加字符串
-v, --starting-line-number=NUMBER
	设置每个区段的第一行的行号
-w, --number-width=NUMBER
	行号栏位的占用的位数
--help
	显示此帮助并退出
--version
	显示版本信息并退出 

nl 不带任何选项执行时,使用如下默认选项:

代码语言:javascript
复制
-bt -d'\:' -fn -hn -i1 -l1 -n'rn' -s<TAB> -v1 -w6

CC 是用于分隔逻辑页数的两个分界符,如果要指定 “”, 请输入 “\”。

4.常用示例

给定文件 test.txt 用于测试,内容如下:

代码语言:javascript
复制
testtxt1
testtxt2
	
testtxt3

(1)使用默认选项给 test.txt 文件编号并输出。

代码语言:javascript
复制
nl test.txt
     1	testtxt1
     2	testtxt2
       
     3	testtxt3

(2)显示行号,指定对齐方式。

代码语言:javascript
复制
# 左对齐,无前导 0
nl -nln test.txt
1     	testtxt1
2     	testtxt2
       
3     	testtxt3

# 右对齐,无前导 0
nl -nrn test.txt
     1	testtxt1
     2	testtxt2
       
     3	testtxt3

# 右对齐,有前导 0
nl -nrz test.txt
000001	testtxt1
000002	testtxt2
       
000003	testtxt3

(3)指定宽度为 4 位,默认为 6 位。

代码语言:javascript
复制
nl -nrz -w4 test.txt
0001	testtxt1
0002	testtxt2
     
0003	testtxt3

(4)空行显示行号。

代码语言:javascript
复制
nl -nrz -w4 -ba test.txt
0001	testtxt1
0002	testtxt2
0003	
0004	testtxt3

(5)设置行号增量为 2。

代码语言:javascript
复制
nl -nrz -w4 -ba -i2 test.txt
0001	testtxt1
0003	testtxt2
0005	
0007	testtxt3

参考文献

nl(1) - Linux manual page - man7.org 博客园.每天一个linux命令(11):nl命令

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-11-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 大咖好呀,我是恋喵大鲤鱼。
  • 1.命令简介
  • 2.命令格式
  • 3.选项说明
  • 4.常用示例
  • 参考文献
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档