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

如何使用sed为每行首个单词添加双引号以生成合法JSON

解决方案

你可以使用如下sed命令完成转换:

# GNU sed 版本(Linux系统通用)
sed -E 's/([{,][[:space:]]*)([a-zA-Z0-9_]+):/\1"\2":/g' input_file > output_file

# 如需直接修改原文件,使用以下命令
sed -i -E 's/([{,][[:space:]]*)([a-zA-Z0-9_]+):/\1"\2":/g' input_file

# macOS 系统 sed 版本
sed -E 's/([{,][[:space:]]*)([a-zA-Z0-9_]+):/\1"\2":/g' input_file > output_file

# macOS 直接修改原文件命令
sed -i '' -E 's/([{,][[:space:]]*)([a-zA-Z0-9_]+):/\1"\2":/g' input_file

命令说明

  • -E 参数用于启用扩展正则表达式,避免额外的转义符
  • 正则匹配逻辑:
    • 先匹配{或,开头,后接任意数量的空白字符(保留原有缩进格式)
    • 捕获冒号前的键名字符(默认匹配字母、数字、下划线,你可以根据实际键名规则调整匹配范围)
    • 替换时保留原有前缀内容,给键名包裹双引号后再拼接后续内容

效果验证

对你给出的示例输入执行命令后,即可得到符合要求的输出:

{"container":"proxy",
 "endpoint":"proxy",
 "exception":"ApiException"}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 06:27:01