AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 436683
Accepted
Mohammed Ali
Mohammed Ali
Asked: 2018-04-10 21:13:19 +0800 CST2018-04-10 21:13:19 +0800 CST 2018-04-10 21:13:19 +0800 CST

Adicionando entradas de matriz ao documento JSON existente a partir da entrada de texto simples

  • 772

Eu tenho uma situação em que tenho a saída de um comando, assim,

192.168.1.84
192.168.1.85

eu quero usar isso e fazer alterações em outro arquivo, ou seja, adicionar esses endereços IP um após o outro, como neste formulário. Abaixo da linha ResourceRecordSet .

ubuntu@kops:/mujahid$ cat change-resource-record-sets.json
{
    "Comment": "Update record to reflect new IP address of home router",
    "Changes": [
        {
            "Action": "UPSERT",
            "ResourceRecordSet": {
                "Name": "testing.mak.online.",
                "Type": "A",
                "TTL": 60,
                "ResourceRecords": [
                    {
                        "Value": "192.168.1.84"
                    },
                    {
                        "Value": "192.168.1.5"
                    }
                ]
            }
        }
    ]
}
shell-script shell
  • 2 2 respostas
  • 1490 Views

2 respostas

  • Voted
  1. Best Answer
    Kusalananda
    2018-04-10T21:56:09+08:002018-04-10T21:56:09+08:00

    Para criar um JSON adequado da lista de endereços IP gerados por somecommand, usando jq:

    somecommand | jq -Rs '{
      Comment: "Update record to reflect new IP address of home router",
      Changes: [ {
          Action: "UPSERT",
          ResourceRecordSet: {
            Name: "testing.mak.online.",
            Type: "A",
            TTL: 60,
            ResourceRecords: split("\n")|.[0:-1]|map({Value:.})
         } } ] }'
    

    Isto resulta em

    {
      "Comment": "Update record to reflect new IP address of home router",
      "Changes": [
        {
          "Action": "UPSERT",
          "ResourceRecordSet": {
            "Name": "testing.mak.online.",
            "Type": "A",
            "TTL": 60,
            "ResourceRecords": [
              {
                "Value": "192.168.1.84"
              },
              {
                "Value": "192.168.1.85"
              }
            ]
          }
        }
      ]
    }
    

    dado que somecommandas saídas

    192.168.1.84
    192.168.1.85
    
    • 4
  2. Danloc
    2018-04-10T21:52:17+08:002018-04-10T21:52:17+08:00

    Você pode armazenar sua entrada em uma matriz e produzir tudo com um loop sobre ela.

    #!/bin/bash
    
    OLDIFS=$IFS
    IFS=' '
    ARR=($@)
            for i in "${ARR[@]}"
            do
            echo $i >>/output/file.txt
    done
    IFS=$OLDIFS
    

    Este Script produzirá tudo o que você inserir linha por linha.

    chamada de exemplo:thisscript.sh $(command that generates your IP's)

    • -2

relate perguntas

  • Um script que imprime as linhas de um arquivo com seu comprimento [fechado]

  • exportar variáveis ​​​​env programaticamente, via stdout do comando [duplicado]

  • Dividir por delimitador e concatenar problema de string

  • Como salvar um caminho com ~ em uma variável?

  • MySQL Select com função IN () com array bash

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    ssh Não é possível negociar: "nenhuma cifra correspondente encontrada", está rejeitando o cbc

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    Como descarregar o módulo do kernel 'nvidia-drm'?

    • 13 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add retorna com: "Erro ao conectar ao agente: nenhum arquivo ou diretório" 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve