nl命令
nl命令用于将文件内容写入到标准输出并附带行号,类似cat -n
用法:nl [选项]... [文件]...
如果不指定文件或使用-,则会从标准输入读取内容
选项说明:
-b, --body-numbering=样式 使用指定样式编号文件的正文行目
-d, --section-delimiter=CC 使用指定的CC 分割逻辑页数
-f, --footer-numbering=样式 使用指定样式编号文件的页脚行目
-h, --header-numbering=样式 使用指定样式编号文件的页眉行目
-i, --page-increment=数值 设置每一行遍历后的自动递增值
-l, --join-blank-lines=数值 设置数值为多少的若干空行被视作一行
-n, --number-format=格式 根据指定格式插入行号
-p, --no-renumber 在逻辑页数切换时不将行号值复位
-s, --number-separator=字符串 可能的话在行号后添加字符串
-v, --starting-line-number=数字 每个逻辑页上的第一行的行号
-w, --number-width=数字 为行号使用指定的栏数
--help 显示此帮助信息并退出
--version 显示版本信息并退出
样式可选项:
a 对所有行编号
t 对非空行编号
n 不编行号
pBRE 只对符合正则表达式BRE 的行编号
格式[FORMAT]可选项:
ln 左对齐,空格不用0 填充
rn 右对齐,空格不用0 填充
rz 右对齐,空格用0 填充
nl默认不带参数的选项设置是-v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn。CC 是用于分隔,逻辑页数的两个分界符,其中缺失的第二个字符暗含了":",如果要指定"",请输入"\"。
示例:
有如下内容文件:
[root@zyc-vm Documents]# cat test.txt
This is an sed test file
Linux test
i am new line
Welcome sed's world
very good defz.cn
repeat line
repeat line
repeat line
repeat line
repeat line
repeat line
repeat line
repeat line
xxxx eat line
ytyyy repeat line
nl命令不同选项显示效果示例:
[root@zyc-vm Documents]# nl test.txt
1 This is an sed test file
2 Linux test
3 i am new line
4 Welcome sed's world
5 very good defz.cn
6 repeat line
7 repeat line
8 repeat line
9 repeat line
10 repeat line
11 repeat line
12 repeat line
13 repeat line
14 xxxx eat line
15 ytyyy repeat line
# 所有行编号(包括空行)
[root@zyc-vm Documents]# nl -ba test.txt
1 This is an sed test file
2 Linux test
3
4 i am new line
5
6
7 Welcome sed's world
8 very good defz.cn
9 repeat line
10 repeat line
11 repeat line
12 repeat line
13 repeat line
14 repeat line
15 repeat line
16 repeat line
17 xxxx eat line
18 ytyyy repeat line
# 左对齐
[root@zyc-vm Documents]# nl -ba -nln test.txt
1 This is an sed test file
2 Linux test
3
4 i am new line
5
6
7 Welcome sed's world
8 very good defz.cn
9 repeat line
10 repeat line
11 repeat line
12 repeat line
13 repeat line
14 repeat line
15 repeat line
16 repeat line
17 xxxx eat line
18 ytyyy repeat line