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

使用Bash过滤gzip文件 保留latitude行后前三行数字内容

Bash实现方案

你可以通过awk配合管道直接输出到gzip完成处理,无需生成中间临时文件。
假设源文件名为raw.txt,最终要生成的gzip文件名为result.gz,执行以下命令即可:

awk '
/^latitude:/ {
    print
    keep_num = 3
    next
}
keep_num > 0 && /^[0-9]+$/ {
    print
    keep_num--
    next
}
!/^[0-9]+$/ {
    print
}
' raw.txt | gzip > result.gz

逻辑说明

  • 匹配到以latitude:开头的行时,正常打印该行,同时设置计数器keep_num为3,代表后续要保留3行数字内容
  • 当计数器大于0且当前行是纯数字内容时,打印该行,计数器减1
  • 所有非数字内容全部正常打印,计数器归零后的纯数字内容会被直接过滤
    如果需要校验输出是否符合预期,执行zcat result.gz即可查看解压后的文件内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 10:15:02