簡體   English   中英

使用sed / awk修改巨大的JSON文件

[英]Using sed/awk to modify huge JSON file

我有一個這樣的JSON文件,我想使用sed / awk替換某些鍵並添加新的鍵,例如,我不能使用jq這樣的json解析器,因為這需要安裝過程,並且產品環境有限。

輸入:

[{
    "key1": "value1",
    "key2": "23456734",
    "nestedKey1": {
        "234567890": {
            "key2": "value3",
            "key4": "value4"
        }
    }
}]

輸出:

[{
    "key2": "value1:23456734",
    "nestedKey1": {
        "CONSTANT:234567890": {
            "key4": "value4"
        }
    }
}]

sed不是正確的工具。

也就是說,以下命令將與您的示例文件一起使用(在生產環境中使用該文件需要您自擔風險 ):

sed '
/ *"key1"/ {
  N
  s/ *"key1": "\([^"]*\)",\n\( *"key2": \)"\([0-9]*\)"/\2"\1:\3"/
}
/"nestedKey1": {/ {
  N
  s/"\([0-9]*"\)/ "CONSTANT:\1/
  n
  /key2/d
}
' file

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM