首页 > 解决方案 > 在 shell 脚本中的最后一个大括号后添加逗号

问题描述

我想在 shell 脚本,的最后一个之后添加一个逗号。}

从:

[
  {
    "targets": [ "localhost:32804", "localhost:32805" ],
    "labels": {
      "env": "local",
      "job": "instances"
    }
  }
]

至:

[
  {
    "targets": [ "localhost:32804", "localhost:32805" ],
    "labels": {
      "env": "local",
      "job": "instances"
    }
  },
]

标签: linuxbashshellawksed

解决方案


这是执行此操作的一种方法,使用sed. 使用该-z标志来假装行以 ASCII 字符 0 ( NUL) 而不是换行符终止 - 这样就sed可以将整个输入文件视为单个长行。

sed -Ez 's/(})([^}]*$)/\1,\2/' <filename>

推荐阅读