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

Linux下递归替换Java文件代码段sed命令报错如何修复

错误根因

你遇到的sed报错主要有几个原因:

  • sed的s替换命令默认使用/作为分隔符,而你的匹配模式里包含//,导致sed提前识别到分隔符,命令解析失败
  • 原命令混用--null和tr '\n' ' '逻辑矛盾,且替换规则末尾多了多余的|,字符
  • 没有限制仅修改java文件,存在误改其他文件的风险

修复后可用方案

Linux环境(GNU Sed)

直接执行以下命令即可递归修改所有匹配的java文件:

grep -rl '//"--no-sandbox"' --include="*.java" . | xargs sed -i 's#//"--no-sandbox"#"--no-sandbox",\n            "--disable-dev-shm-usage"#'

macOS环境(BSD Sed)

系统默认的sed要求-i参数指定备份后缀,不需要备份的话填空字符串即可:

grep -rl '//"--no-sandbox"' --include="*.java" . | xargs sed -i '' 's#//"--no-sandbox"#"--no-sandbox",\n            "--disable-dev-shm-usage"#'

验证建议

执行修改前可以先去掉sed的-i参数,命令会打印替换后的内容,确认格式符合预期后再加-i执行写入即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 06:45:03