q
Execute SQL-like queries on CSV and TSV files. tldr-pages
On several platforms
Several platforms
Query a CSV file by specifying the delimiter as ','
q --delimiter ',' "SELECT * from path/to/file"IdentifyQuery a TSV file
q --tab-delimited "SELECT * from path/to/file"IdentifyQuery file with header row
q --delimiter delimiter --skip-header "SELECT * from path/to/file"IdentifyRead data from stdin; '-' in the query represents the data from stdin
output | q "select * from -"IdentifyJoin two files (aliased as f1 and f2 in the example) on column c1, a common column
q "SELECT * FROM path/to/file f1 JOIN path/to/other_file f2 ON (f1.c1 = f2.c1)"IdentifyFormat output using an output delimiter with an output header line (Note: Command will output column names based on the input file header or the column aliases overridden in the query)
q --output-delimiter delimiter --output-header "SELECT column as alias from path/to/file"Identify