GNU/Linux >> Linux Esercitazione >  >> Linux

Creare dati di lettura di testo da un file?

Ho un file CSV che contiene un elenco di 600 numeri nel seguente formato

442030580306

442030580307

Ne ho bisogno per generare il file in un file lungo come il seguente dalla lettura dei numeri sopra

         "new-request-uri-user-part:442030580306": {
            "query_string": {
              "query": "new-request-uri-user-part:442030580306",
              "analyze_wildcard": true
            }
          },
          "new-request-uri-user-part:442030580307": {
            "query_string": {
              "query": "new-request-uri-user-part:442030580307",
              "analyze_wildcard": true
            }
          },

Qualche idea sul modo migliore per raggiungere questo obiettivo?

Risposta accettata:

Quando vogliamo eventualmente ottenere un dato JSON – jq è lo strumento giusto:

numbers.csv contenuto del file:

442030580306
442030580307

jq soluzione:

jq -s '"new-request-uri-user-part:" as $pfx | reduce [.[]|tostring][] as 
        $n ({}; .[($pfx + $n)] |= {"query_string": {"query": ($pfx + $n), "analyze_wildcard": true }})' numbers.csv

L'uscita:

{
  "new-request-uri-user-part:442030580306": {
    "query_string": {
      "query": "new-request-uri-user-part:442030580306",
      "analyze_wildcard": true
    }
  },
  "new-request-uri-user-part:442030580307": {
    "query_string": {
      "query": "new-request-uri-user-part:442030580307",
      "analyze_wildcard": true
    }
  }
}
  • "new-request-uri-user-part:" as $pfx – assegnando la frase comune "new-request-uri-user-part:" alla variabile $pfx

  • reduce [.[]|tostring][] as $n ({}; ...) – eseguire l'operazione di riduzione sulla lista dei numeri inseriti


Linux
  1. 4 passaggi per creare utenti Linux da un file CSV con Ansible

  2. Modificare una posta in arrivo da testo/normale a testo/html?

  3. Disegna a caso un certo numero di righe da un file di dati?

  4. 4 modi per creare un file di testo nel terminale Linux

  5. Comprimi i file durante la lettura dei dati da STDIN

Come creare directory da un file di testo in Linux

Come visualizzare i dati da un file di testo in Linux

Scripting Bash:come leggere i dati dai file di testo

Come estrarre indirizzi e-mail da file di testo in Linux

Come rimuovere tutti i caratteri di spazio bianco da un file di testo

Disegna casualmente un certo numero di righe da un file di dati