trdsql
Execute SQL on CSV, LTSV, JSON, YAML, and TBLN files. More information: https://noborus.github.io/trdsql/.
- Convert object data from multiple JSON files to a CSV file with header (
-oh
) and double quote:
trdsql -ocsv -oh "SELECT * FROM
path/to/file/*.json" | sed 's/\([^,]*\)/"&"/g' >
path/to/file.csv
- Interpret JSON list as a table and put objects inside as columns (path/to/file.json:
{"list":[{"age":"26","name":"Tanaka"}]}
):
trdsql "SELECT * FROM
path/to/file.json::.list
- Manipulate complex SQL query with data from multiple CSV files with first line is header (
-ih
):
trdsql -icsv -ih "SELECT
column1,column2 FROM
path/to/file*.csv WHERE column2 != '' ORDER BY column1 GROUP BY column1"
- Merge content of 2 CSV files to one CSV file:
trdsql "SELECT
column1,colum2 FROM
path/to/file1.csv UNION SELECT
column1,column2 FROM
path/to/file2.csv"
- Connect to PostgreSQL database:
trdsql -driver postgres -dsn "host=
hostname port=
5433 dbname=
database_name" "SELECT 1"
- Create table data to MySQL database from CSV file:
trdsql -driver mysql -dsn "
username:
password@
hostname/
database" -ih "CREATE TABLE
table (
column1 int,
colum2 varchar(20)) AS SELECT
column3 AS
column1,
column2 FROM
path/to/header_file.csv"
- Show data from compress log files:
trdsql -iltsv "SELECT * FROM
path/to/access.log.gz"