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

编写Shell脚本:匹配data3和data4后仅在(blank line3)追加内容

Shell脚本实现指定内容追加功能

以下是满足需求的Shell脚本,使用awk工具处理文本,简洁高效:

BEGIN { in_target_block = 0 }
/^#$/ {
    in_target_block = 0
}
/data3 data4/ {
    in_target_block = 1
}
in_target_block == 1 && /^$/ {
    print
    print "Line found"
    in_target_block = 0
    next
}
1

脚本逻辑说明

  • 初始状态下,in_target_block标记设为0,代表不在目标内容块内
  • 遇到以#开头的行时,重置标记,退出当前可能的目标块
  • 匹配到data3 data4行时,将标记设为1,进入目标内容块
  • 当处于目标块内且遇到空行时,先打印原空行,再追加输出“Line found”,随后关闭标记,确保仅在第一个空行(即(blank line3))完成追加
  • 最后一行的1是awk的简写,代表打印所有未被特殊处理的行,保留原文件的其他内容不变

使用方法

将上述脚本保存为append_line.awk,执行以下命令处理目标文件(假设目标文件名为input.txt):

awk -f append_line.awk input.txt > output.txt

处理后的结果会保存到output.txt中,原文件不会被修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 23:20:54