Bash

僅刪除 big acme.json 中的證書

  • February 4, 2022

我試圖弄清楚如何格式化大 json 文件並只刪除格式如下的證書:

{
 "http-01": {
   "Account": {
     "Email": "email@domain.tld",
     "Registration": {
       "body": {
         "status": "valid",
         "contact": [
           "mailto:email@domain.tld"
         ]
       },
       "uri": "https://acme-v02.api.letsencrypt.org/acme/acct/110801506"
     },
     "PrivateKey": "long_key_string",
     "KeyType": "4096"
   },
   "Certificates": [
     {
       "domain": {
         "main": "domain.tld"
       },
       "certificate": "long_cert_string",
       "key": "long_key_String",
       "Store": "default"
     },
     {
       "domain": {
         "main": "domain2.tld"
       },
     .....

cat acme.json |grep certificate | awk ' { print $1 $2 } '試過了,但我正在努力如何在昏迷之間只選擇文本"certificate":和編輯證書。

有沒有優雅的方式用 bash/python 格式化它?我找不到辦法。

查看 jq 及其手冊頁​​。這是讓你開始的東西!

jq '."http-01"."Certificates"[]."certificate"="OMITTED"'

引用自:https://unix.stackexchange.com/questions/689310