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

如何使用shell脚本在执行build.gradle前查找替换指定配置行

可靠实现方案

实现思路

  • 放弃固定行号匹配逻辑,改为先定位到exportBatch/importBatch对应的task代码块范围
  • 仅在对应块范围内匹配目标commandLine行做替换,只要task名称和内部核心结构不变,前后其他代码增减、行号变动都不会影响替换准确性

具体shell脚本实现

直接执行以下脚本即可完成替换,默认直接修改build.gradle文件:

# GNU sed 适用(大部分Linux发行版默认自带)
sed -i '
# 替换exportBatch块内的commandLine
/task exportBatch/,/}/ s/commandLine = \['\''cmd'\'', '\''\/C'\'', '\''start'\'', '\''export\.bat'\''\]/commandLine '\''sh'\'', '\''\.\/export\.sh'\''/
# 替换importBatch块内的commandLine
/task importBatch/,/}/ s/commandLine = \['\''cmd'\'', '\''\/C'\'', '\''start'\'', '\''import\.bat'\''\]/commandLine '\''sh'\'', '\''\.\/import\.sh'\''/
' build.gradle

如果需要保留原文件备份,将第一行的-i改为-i.bak,执行后会自动生成build.gradle.bak备份文件。

注意事项

  • 若在macOS环境执行,需要将-i参数改为-i '',其余替换规则保持不变
  • 替换完成后可执行grep -A3 -B3 'commandLine' build.gradle验证替换结果是否符合预期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 17:15:04