【问题标题】:Add comma after the last curly brackets in shell script在 shell 脚本中的最后一个大括号后添加逗号
【发布时间】:2020-05-18 20:14:34
【问题描述】:

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

发件人:

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

收件人:

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

【问题讨论】:

  • 如果您正在处理 JSON,那么预期的输出不是有效的 JSON 实体

标签: linux bash shell awk sed


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-17
    相关资源
    最近更新 更多