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

求助:使用Unix Shell移除文件指定页眉及最后一行页脚

移除页眉和页脚的Shell脚本解决方案

直接用一行sed命令就能搞定需求,同时删除指定页眉块和最后一行页脚:

# GNU sed(Linux系统)
sed -i '/BEGINHEADER/,/ENDHEADER/d; $d' TEST.txt

# BSD sed(macOS系统)需给-i加空参数
sed -i '' '/BEGINHEADER/,/ENDHEADER/d; $d' TEST.txt

命令拆解:

  • /BEGINHEADER/,/ENDHEADER/d:匹配所有从包含BEGINHEADER的行到包含ENDHEADER的行(包括这两行),并直接删除它们
  • $d:单独删除文件的最后一行
  • -i:直接修改原文件(如果不想改动原文件,去掉-i,把结果重定向到新文件:sed '/BEGINHEADER/,/ENDHEADER/d; $d' TEST.txt > cleaned_TEST.txt)

示例验证

假设你的TEST.txt内容是:

BEGINHEADER
页眉辅助行1
页眉辅助行2
ENDHEADER
正文第一行
正文第二行
正文第三行
最后一行页脚

运行命令后,TEST.txt会变成:

正文第一行
正文第二行
正文第三行

如果偏好awk,也可以用这个逻辑更直观的命令:

awk '
    /BEGINHEADER/ {skip=1}
    !skip {print}
    /ENDHEADER/ {skip=0}
' TEST.txt | head -n -1

awk的逻辑是:遇到BEGINHEADER就开启跳过标记,遇到ENDHEADER就关闭标记,期间跳过所有页眉行;最后用head -n -1删掉最后一行页脚。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 14:02:08