Использование jq для поиска значения свойства и возврата другого значения - PullRequest
0 голосов
/ 06 февраля 2020

Извините, если это звучит слишком просто, но я все еще учусь и потратил несколько часов, чтобы найти решение. У меня большой json файл, и я хотел бы найти определенное значение c из объекта и вернуть значение из другого объекта.

Пример, из приведенных ниже данных, я хотел бы найти json файл для всех объектов, которые имеют значение в unique_number, соответствующее «123456» и возвращают это значение вместе с IP-адресом. jq должен вернуть что-то вроде - 123456, 127.0.0.1 Поскольку размер файла будет около 300 МБ со многими IP-адресами, будут ли проблемы с производительностью?

Частичное json -

{
  "ip": "127.0.0.1",
  "data": {
    "tls": {
      "status": "success",
      "protocol": "tls",
      "result": {
        "handshake_log": {
          "server_hello": {
            "version": {
              "name": "TLSv1.2",
              "value": 1111
            },
            "random": "dGVzdA==",
            "session_id": "dGVzdA==",
            "cipher_suite": {
              "name": "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
              "value": 1122
            },
            "compression_method": 0,

          },
          "server_certificates": {
            "certificate": {
              "raw": "dGVzdA==",
              "parsed": {
                "version": 3,
                "unique_number": "123456",
                "signature_algorithm": {
                  "name": "SHA256-RSA",
                  "oid": "1.2.4.5.6"
                },
...