1. nl命令简介

nl命令在Linux系统中用来计算文件中行号。nl 可以将输出的文件内容自动的加上行号。其默认的结果与cat -n有点不太一样, nl可以将行号做比较多的功能设计,包括位数与是否自动补齐 0 等等的功能。

4ce4ca545240c5bf77a558a5e8f7d798.png

2. nl命令格式

nl [选项]。。。 [文件]。。。

3. nl命令选项

-b :指定行号指定的方式,主要有两种:

-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);

-b t :如果有空行,空的那一行不要列出行号(默认值);

-n :列出行号表示的方法,主要有三种:

-n ln :行号在萤幕的最左方显示;

-n rn :行号在自己栏位的最右方显示,且不加 0 ;

-n rz :行号在自己栏位的最右方显示,且加 0 ;

-w :行号栏位的占用的位数。

-p 在逻辑定界符处不重新开始计算。

4. nl命令的默认输出

用nl查看mysql配置文件

[root@zcwyou ~]# nl /etc/my.cnf

1 [mysqld]

2 datadir=/var/lib/mysql

3 socket=/var/lib/mysql/mysql.sock

4 user=mysql

5 # Disabling symbolic-links is recommended to prevent assorted security risks

6 symbolic-links=0

7 set-variable=max_connections=200

8 [mysqld_safe]

9 log-error=/var/log/mysqld.log

10 pid-file=/var/run/mysqld/mysqld.pid

可以看到输出结果带行号,并且包括空行,但空行没有行号。

552a2f6ce283b17ecfffae2a04790209.png

5. 空行也分配行号

[root@zcwyou ~]# nl -b a /etc/my.cnf

1 [mysqld]

2 datadir=/var/lib/mysql

3 socket=/var/lib/mysql/mysql.sock

4 user=mysql

5 # Disabling symbolic-links is recommended to prevent assorted security risks

6 symbolic-links=0

7 set-variable=max_connections=200

8

9 [mysqld_safe]

10 log-error=/var/log/mysqld.log

11 pid-file=/var/run/mysqld/mysqld.pid

可以看到,选项a,空行也有行号。

2d4796f2235848620819bac569572949.png

6. 行号使用多位数

[root@zcwyou ~]# nl -b a -n rz /etc/my.cnf

000001 [mysqld]

000002 datadir=/var/lib/mysql

000003 socket=/var/lib/mysql/mysql.sock

000004 user=mysql

000005 # Disabling symbolic-links is recommended to prevent assorted security risks

000006 symbolic-links=0

000007 set-variable=max_connections=200

000008

000009 [mysqld_safe]

000010 log-error=/var/log/mysqld.log

000011 pid-file=/var/run/mysqld/mysqld.pid

7. 总结

nl命令主要用于打印某个文件内容并在第一列显示每一行的行数。

Logo

更多推荐