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

如何用sed将字符串中的\]\[替换为,?尝试命令未生效求方案

解决sed替换][(或\]\[)无效的问题

针对不同场景的解决方案

场景1:目标是无反斜杠的][

如果你的文件内容为[["2026.04.05 17:52","Powerloss",24]][["2026.04.05 17:52","Powerloss",24]],原命令无效可能是转义冗余或sed版本差异,试试以下命令:

  • Linux(GNU sed):
    sed 's/]\[/,/g' filename
    
    原命令的转义写法也能生效,因为GNU sed会将\]解析为字面量]。
  • macOS(BSD sed):
    上述命令同样适用,若仍不生效,检查文件是否包含空格、制表符等隐藏分隔字符。

场景2:目标是带反斜杠的\]\[

如果文件中实际是带转义反斜杠的\[\["2026.04.05 17:52","Powerloss",24\]\]\[\["2026.04.05 17:52","Powerloss",24\]\],需要匹配反斜杠(正则中需转义为\\),命令改为:

sed 's/\\]\[/,/g' filename

场景3:][跨两行存在

如果]在一行末尾,[在下一行开头,需处理跨行匹配:

sed 'N; s/\]\n\[/,/g' filename

N指令会将下一行读入模式空间,从而匹配换行分隔的][。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.01 13:27:32