来自nl
手册:
...
-f, --footer-numbering=STYLE
use STYLE for numbering footer lines
-h, --header-numbering=STYLE
use STYLE for numbering header lines
...
-f
您能提供和选项的使用示例-h
吗?什么被视为页脚或页眉?
答案1
看起来您正在阅读 GNU 的联机帮助页nl
。完整文档位于info nl
(或在线的)更完整地描述了它:
nl
将其输入分解为(逻辑)页面部分;默认情况下,每个逻辑页部分的行号重置为 1。nl
将所有输入文件视为单个文档;它不会重置文件之间的行号或逻辑页。逻辑页面由三部分组成:页眉、正文和页脚。任何部分都可以为空。每个都可以采用与其他不同的样式进行编号。
逻辑页各部分的开头在输入文件中由恰好包含以下分隔符字符串之一的行指示:
\:\:\:
标题的开始;
\:\:
身体的开始;
\:
页脚的开始。构成这些字符串的两个字符可以通过选项进行更改
\
(:
见下文),但每个字符串的模式和长度不能更改。输出时节分隔符被空行替换。输入文件中第一个节分隔符字符串之前的任何文本都被视为主体节的一部分,因此
nl
将不包含节分隔符的文件视为单个主体节。
或者,类似地从POSIX 规范:
该
nl
实用程序以逻辑页的形式查看其读取的文本。行编号应在每个逻辑页的开头重置。逻辑页面由页眉、正文和页脚部分组成。空部分有效。不同的行编号选项可独立用于页眉、正文和页脚(例如,不对页眉和页脚行进行编号,而仅对正文中的空白行进行编号)。逻辑页部分的开始应由仅包含以下分隔符的输入行表示:
Line Start of \:\:\: Header \:\: Body \: Footer
一个例子:
% printf "\\:\\:\n%s\n\\:\nfooter\n" {a..c} | nl
1 a
footer
1 b
footer
1 c
footer
% printf "\\:\\:\n%s\n\\:\nfooter\n" {a..c} | nl -f a
1 a
1 footer
1 b
1 footer
1 c
1 footer