nl 用法
nl 命令在 linux 系统中用来计算文件中行号。
nl 可以将输出的文件内容自动的加上行号,其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能。
- 命令格式:
nl [选项]... [文件]...
- 命令参数:
-b
指定行号指定的方式,主要有两种:-b a
表示不论是否为空行,也同样列出行号(类似 cat -n)-b t
如果有空行,空的那一行不要列出行号(默认值)
-n
列出行号表示的方法,主要有三种:-n ln
行号在萤幕的最左方显示-n rn
行号在自己栏位的最右方显示,且不加 0-n rz
行号在自己栏位的最右方显示,且加 0
-w
行号栏位的占用的位数
-p
在逻辑定界符处不重新开始计算
例1
# 用 nl 列出 log2012.log 的内容
[root@localhost test]# nl log2012.log
# 用 nl 列出 log2012.log 的内容,空本行也加上行号
[root@localhost test]# nl -b a log2012.log
1 2012-01
2 2012-02
3
4
# 让行号前面自动补上0,统一输出格式
[root@localhost test]# nl -b a -n rz log2014.log
000001 2014-01
000002 2014-02
000003 2014-03
000004 2014-04
000005 2014-05
000006 2014-06
例2
# 建立测试文件
df -h > df_h.lognl df_h.log
1 Filesystem Size Used Avail Use% Mounted on
2 udev 937M 0 937M 0% /dev
3 tmpfs 196M 1.2M 195M 1% /run
4 /dev/mapper/ubuntu--vg-ubuntu--lv 14G 4.5G 8.6G 35% /
5 tmpfs 980M 0 980M 0% /dev/shm
6 tmpfs 5.0M 0 5.0M 0% /run/lock
7 tmpfs 980M 0 980M 0% /sys/fs/cgroup
8 /dev/sda2 976M 104M 806M 12% /boot
9 /dev/loop0 56M 56M 0 100% /snap/core18/1944
10 /dev/loop1 56M 56M 0 100% /snap/core18/1988
11 /dev/loop2 70M 70M 0 100% /snap/lxd/19188
12 /dev/loop3 32M 32M 0 100% /snap/snapd/10707
13 /dev/loop4 32M 32M 0 100% /snap/snapd/11036
14 tmpfs 196M 0 196M 0% /run/user/1000nl -n rz df_h.log
000001 Filesystem Size Used Avail Use% Mounted on
000002 udev 937M 0 937M 0% /dev
000003 tmpfs 196M 1.2M 195M 1% /run
000004 /dev/mapper/ubuntu--vg-ubuntu--lv 14G 4.5G 8.6G 35% /
000005 tmpfs 980M 0 980M 0% /dev/shm
000006 tmpfs 5.0M 0 5.0M 0% /run/lock
000007 tmpfs 980M 0 980M 0% /sys/fs/cgroup
000008 /dev/sda2 976M 104M 806M 12% /boot
000009 /dev/loop0 56M 56M 0 100% /snap/core18/1944
000010 /dev/loop1 56M 56M 0 100% /snap/core18/1988
000011 /dev/loop2 70M 70M 0 100% /snap/lxd/19188
000012 /dev/loop3 32M 32M 0 100% /snap/snapd/10707
000013 /dev/loop4 32M 32M 0 100% /snap/snapd/11036
000014 tmpfs 196M 0 196M 0% /run/user/1000

浙公网安备 33010602011771号