You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为大文本文件添加带递增Page编号的页眉并按7行分页?

如何为大文本文件按每7行添加带递增页码的页眉?

我来帮你搞定这个给文本文件分页并添加带递增页码页眉的需求,用AWK脚本就能轻松实现,完全匹配你的要求。

需求说明

  • 每7行文本作为一页,每页开头添加指定格式的页眉
  • 页眉包含分隔线、固定文本Code 10 20 30 40和递增的Page编号
  • 每页结尾也需要添加分隔线,最后一页末尾同样保留分隔线

输入文件示例

2917 2 0 0 0 = 2
2916 0 0 0 5 = 5
2915 2 0 3 0 = 5
2914 2 2 1 0 = 5
2912 0 2 0 0 = 2
2911 0 2 0 0 = 2
2910 3 0 0 0 = 3
2917 2 0 0 0 = 2
2916 0 0 0 5 = 5
2915 2 0 3 0 = 5
2914 2 2 1 0 = 5
2912 0 2 0 0 = 2
2911 0 2 0 0 = 2
2910 3 0 0 0 = 3
2917 2 0 0 0 = 2
2916 0 0 0 5 = 5
2915 2 0 3 0 = 5
2914 2 2 1 0 = 5
2912 0 2 0 0 = 2
2911 0 2 0 0 = 2
2910 3 0 0 0 = 3
2917 2 0 0 0 = 2
2916 0 0 0 5 = 5
2915 2 0 3 0 = 5
2914 2 2 1 0 = 5
2912 0 2 0 0 = 2
2911 0 2 0 0 = 2
2910 3 0 0 0 = 3
2917 2 0 0 0 = 2
2916 0 0 0 5 = 5
2915 2 0 3 0 = 5
2914 2 2 1 0 = 5
2912 0 2 0 0 = 2
2911 0 2 0 0 = 2
2910 3 0 0 0 = 3

期望输出示例

----------------------------------------------------
Code 10 20 30 40 Page 1
----------------------------------------------------
2917 2 0 0 0 = 2
2916 0 0 0 5 = 5
2915 2 0 3 0 = 5
2914 2 2 1 0 = 5
2912 0 2 0 0 = 2
2911 0 2 0 0 = 2
2910 3 0 0 0 = 3
----------------------------------------------------
Code 10 20 30 40 Page 2
----------------------------------------------------
2917 2 0 0 0 = 2
2916 0 0 0 5 = 5
2915 2 0 3 0 = 5
2914 2 2 1 0 = 5
2912 0 2 0 0 = 2
2911 0 2 0 0 = 2
2910 3 0 0 0 = 3
----------------------------------------------------
Code 10 20 30 40 Page 3
----------------------------------------------------
2917 2 0 0 0 = 2
2916 0 0 0 5 = 5
2915 2 0 3 0 = 5
2914 2 2 1 0 = 5
2912 0 2 0 0 = 2
2911 0 2 0 0 = 2
2910 3 0 0 0 = 3
----------------------------------------------------
Code 10 20 30 40 Page 4
----------------------------------------------------
2917 2 0 0 0 = 2
2916 0 0 0 5 = 5
2915 2 0 3 0 = 5
2914 2 2 1 0 = 5
2912 0 2 0 0 = 2
2911 0 2 0 0 = 2
2910 3 0 0 0 = 3
----------------------------------------------------
Code 10 20 30 40 Page 5
----------------------------------------------------
2917 2 0 0 0 = 2
2916 0 0 0 5 = 5
2915 2 0 3 0 = 5
2914 2 2 1 0 = 5
2912 0 2 0 0 = 2
2911 0 2 0 0 = 2
2910 3 0 0 0 = 3
----------------------------------------------------

解决方案:AWK脚本实现

AWK是处理文本行的神器,这个脚本会自动计算页码,按每7行分页并添加符合要求的页眉和分隔线:

BEGIN {
    # 定义分隔线变量
    sep = "----------------------------------------------------"
    page = 0
}
# 每7行的第一行(第1、8、15...行),输出当前页的页眉
NR % 7 == 1 {
    page++
    print sep
    print "Code 10 20 30 40 Page", page
    print sep
}
# 打印当前行内容
{
    print $0
}
# 所有行处理完后,打印最后一条分隔线
END {
    print sep
}

使用方法

  1. 把上面的脚本保存为add_page_headers.awk文件
  2. 运行以下命令处理你的输入文件(假设输入文件名为input.txt,输出文件名为output.txt):
awk -f add_page_headers.awk input.txt > output.txt

或者直接在命令行执行单行命令,无需保存脚本:

awk 'BEGIN{sep="----------------------------------------------------";page=0} NR%7==1{page++;print sep;print "Code 10 20 30 40 Page",page;print sep} {print $0} END{print sep}' input.txt > output.txt

这个脚本处理后的输出会和你提供的期望结果完全一致,不管你的输入文件有多少行,都能自动分页并生成递增的页码。

内容的提问来源于stack exchange,提问作者OXXO

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:22:27