trdsql

Ejecuta SQL en archivos CSV, LTSV, JSON, YAML y TBLN. Más información: https://noborus.github.io/trdsql/.

  • Convierte datos de objetos de varios archivos JSON a un archivo CSV con encabezado (-oh) y comillas dobles:

trdsql -ocsv -oh "SELECT * FROM ruta/al/archivo/*.json" | sed 's/\([^,]*\)/«&»/g' > ruta/al/archivo.csv

  • Interpreta una lista JSON como tabla y pone objetos dentro como columnas ( ruta/al/archivo.json: {"lista":[{"edad":"26", "nombre":"Tanaka"}]}):

trdsql "SELECT * FROM ruta/al/archivo.json::.list

  • Manipula una consulta SQL compleja con datos de varios archivos CSV cuya primera línea es la cabecera (-ih):

trdsql -icsv -ih "SELECT columna1,columna2 FROM ruta/al/archivo*.csv WHERE column2 != '' ORDER BY columna1 GROUP BY columna1"

  • Combina el contenido de 2 archivos CSV en un archivo CSV:

trdsql "SELECT columna1,columna2 FROM ruta/al/archivo1.csv UNION SELECT columna1,columna2 FROM ruta/al/archivo2.csv"

  • Se conecta a la base de datos PostgreSQL:

trdsql -driver postgres -dsn "host=nombre_del_host port=5433 dbname=nombre_de_la_base_de_datos" "SELECT 1"

  • Crea una tabla de datos en una base de datos MySQL a partir de un archivo CSV:

trdsql -driver mysql -dsn "usuario:contraseña@nombre_del_host/base_de_datos" -ih "CREATE TABLE tabla (columna1 int, columna2 varchar(20)) AS SELECT columna3 AS columna1,columna2 FROM ruta/a/archivo_cabecera.csv"

  • Muestra datos de archivos de registro comprimidos:

trdsql -iltsv "SELECT * FROM ruta/a/acceso.log.gz"