GNU/Linux >> Tutoriales Linux >  >> Linux

¿Crear datos de lectura de texto de un archivo?

Tengo un archivo csv que tiene una lista de 600 números en el siguiente formato

442030580306

442030580307

Lo necesito para generar el archivo en un archivo largo como el siguiente al leer los números anteriores

         "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
            }
          },

¿Alguna idea sobre la mejor manera de lograr esto?

Respuesta aceptada:

Cuando queremos obtener eventualmente datos JSON – jq es la herramienta adecuada:

numbers.csv contenido del archivo:

442030580306
442030580307

jq solución:

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

La salida:

{
  "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 – asignando la frase común "new-request-uri-user-part:" a la variable $pfx

  • reduce [.[]|tostring][] as $n ({}; ...) – realizar la operación de reducción sobre la lista de números de entrada


Linux
  1. ¿Leyendo patrones Grep de un archivo?

  2. 4 formas de crear un archivo de texto en la terminal de Linux

  3. Cómo distinguir binarios de archivos de texto en Linux

  4. ¿Cómo elimino líneas nuevas de un archivo de texto?

  5. Eliminar líneas pares o impares de un archivo de texto

Cómo crear directorios desde un archivo de texto en Linux

Cómo mostrar datos de un archivo de texto en Linux

Bash scripting:cómo leer datos de archivos de texto

4 pasos para crear usuarios de Linux desde un archivo csv con Ansible

Cómo extraer direcciones de correo electrónico de un archivo de texto en Linux

Cómo quitar todos los caracteres de espacio en blanco de un archivo de texto