1 | nl
|
2 | ===
|
3 |
|
4 | 为每一个文件添加行号。
|
5 |
|
6 | ## 概要
|
7 |
|
8 | ```shell
|
9 | nl [OPTION]... [FILE]...
|
10 | ```
|
11 |
|
12 | ## 主要用途
|
13 |
|
14 | - 将每一个输入的文件添加行号后发送到标准输出。
|
15 | - 当没有文件或文件为`-`时,读取标准输入
|
16 | - 处理逻辑页(logical page)。
|
17 |
|
18 | ## 选项
|
19 |
|
20 | ```shell
|
21 | -b, --body-numbering=STYLE 使用STYLE 为body部分的行附加行号。
|
22 | -d, --section-delimiter=CC 使用CC作为logical page的分隔符。
|
23 | -f, --footer-numbering=STYLE 使用STYLE 为footer部分的行附加行号。
|
24 | -h, --header-numbering=STYLE 使用STYLE 为header部分的行附加行号。
|
25 | -i, --line-increment=NUMBER 行号递增间隔为NUMBER。
|
26 | -l, --join-blank-lines=NUMBER 连续NUMBER行的空行作为一行处理。
|
27 | -n, --number-format=FORMAT 根据FORMAT插入行号。
|
28 | -p, --no-renumber 不要在每个部分重置行号。
|
29 | -s, --number-separator=STRING 在行号后添加字符串STRING。
|
30 | -v, --starting-line-number=NUMBER 每部分的起始行号。
|
31 | -w, --number-width=NUMBER 行号宽度为NUMBER。
|
32 | --help 显示帮助信息并退出。
|
33 | --version 显示版本信息并退出。
|
34 |
|
35 |
|
36 | 默认选项为:-bt -d'\:' -fn -hn -i1 -l1 -nrn -sTAB -v1 -w6
|
37 |
|
38 | CC是由两个字符组成的,默认为\: ,第二个字符如果缺失则默认为:
|
39 |
|
40 | STYLE可以为下列可用值之一:
|
41 |
|
42 | a 所有行标记行号。
|
43 | t 仅为非空行标记行号。
|
44 | n 不标记行号。
|
45 | pBRE 符合基础正则表达式(BRE)的行会标记行号。
|
46 |
|
47 | FORMAT可以为下列可用值之一:
|
48 |
|
49 | ln 左对齐,不会在开始部分补充0以满足宽度。
|
50 | rn 右对齐,不会在开始部分补充0以满足宽度。
|
51 | rz 右对齐,会在开始部分补充0以满足宽度。
|
52 |
|
53 | logical page
|
54 | 三部分组成(header, body, footer)
|
55 | 起始标记(header \:\:\:, body \:\:, footer \:)
|
56 | ```
|
57 |
|
58 | ## 参数
|
59 |
|
60 | FILE(可选):要处理的文件,可以为一或多个。
|
61 |
|
62 | ## 返回值
|
63 |
|
64 | 返回0表示成功,返回非0值表示失败。
|
65 |
|
66 | ## 例子
|
67 |
|
68 | ```shell
|
69 | nl_logicalpage.txt:该文件用于说明nl命令处理逻辑页,内容如下:
|
70 | \:\:\:
|
71 | header_1
|
72 | \:\:
|
73 | body_1
|
74 | \:
|
75 | footer_1
|
76 | \:\:\:
|
77 | header_2
|
78 | \:\:
|
79 | body_2
|
80 | \:
|
81 | footer_2
|
82 | ```
|
83 |
|
84 | ```shell
|
85 | [user2@pc ~]$ nl nl_logicalpage.txt
|
86 |
|
87 | header_1
|
88 |
|
89 | 1 body_1
|
90 |
|
91 | footer_1
|
92 |
|
93 | header_2
|
94 |
|
95 | 1 body_2
|
96 |
|
97 | footer_2
|
98 |
|
99 | [user2@pc ~]$ nl -v0 -fa -ha nl_logicalpage.txt
|
100 |
|
101 | 0 header_1
|
102 |
|
103 | 1 body_1
|
104 |
|
105 | 2 footer_1
|
106 |
|
107 | 0 header_2
|
108 |
|
109 | 1 body_2
|
110 |
|
111 | 2 footer_2
|
112 |
|
113 | [user2@pc ~]$ nl -p -fa -ha nl_logicalpage.txt
|
114 |
|
115 | 1 header_1
|
116 |
|
117 | 2 body_1
|
118 |
|
119 | 3 footer_1
|
120 |
|
121 | 4 header_2
|
122 |
|
123 | 5 body_2
|
124 |
|
125 | 6 footer_2
|
126 | ```
|
127 |
|
128 | ```shell
|
129 | nl_normal.txt:该文件用于说明nl命令处理普通文件,内容如下:
|
130 | ZhuangZhu-74
|
131 | 2019-11-21
|
132 | 127.0.0.1
|
133 | ```
|
134 |
|
135 | ```shell
|
136 | [user2@pc ~]$ nl nl_normal.txt
|
137 | 1 ZhuangZhu-74
|
138 | 2 2019-11-21
|
139 | 3 127.0.0.1
|
140 |
|
141 | [user2@pc ~]$ nl -b p'1$' nl_normal.txt
|
142 | ZhuangZhu-74
|
143 | 1 2019-11-21
|
144 | 2 127.0.0.1
|
145 |
|
146 | [user2@pc ~]$ nl -b p'^[A-Z]' nl_normal.txt
|
147 | 1 ZhuangZhu-74
|
148 | 2019-11-21
|
149 | 127.0.0.1
|
150 | ```
|
151 |
|
152 | ### 注意
|
153 |
|
154 | 1. 该命令是`GNU coreutils`包中的命令,相关的帮助信息请查看`man -s 1 nl`,`info coreutils 'nl invocation'`。
|
155 |
|
156 |
|