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

如何匹配文本文件中MRATE并输出其到GRATE之间的行后终止读取

文本文件指定区间匹配输出方案

核心需求

对文本文件按如下规则处理:

  • 匹配到字符串A MRATE后,开始输出当前行及后续所有行,直到匹配到字符串B GRATE时停止当前片段输出
  • 累计完成2次上述MRATE到GRATE的片段输出后,直接终止文件读取,无需处理后续内容

预设字符串参考

String A:  'MRATE'
String B:  'GRATE'
String C: 'URATE'

输入文件内容示例

AAAA
BBBB
MRATE >>>>>>> First occurrence of String A
TRATE
SRATE
GRATE
QRATE
MRATE >>>>>>> Second occurrence of String A
ZRATE
GRATE 
ZRATE
URATE

预期输出效果

第一次匹配到MRATE时输出内容:

MRATE
TRATE
SRATE
GRATE

第二次匹配到MRATE后输出到对应GRATE即可终止读取,后续内容无需处理。

实现方案(Linux/macOS 环境)

使用awk命令可直接满足需求,命令如下:

awk '/MRATE/{f=1;cnt++} f{print} /GRATE/{f=0;if(cnt>=2)exit}' 你的目标文件名.txt

命令逻辑说明:

  • 匹配到MRATE时,开启输出标记f=1,同时累计匹配次数cnt加1
  • 输出标记为开启状态时,打印当前读取的行
  • 匹配到GRATE时,关闭输出标记,若累计匹配次数达到2次,直接退出程序终止文件读取

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 02:57:06