SQLite: -tabs option is missing
(1) By anonymous on 2020-10-31 15:51:02 [link] [source]
SQLite has a built-in 'tabs' mode. But it is not exposed as a command line option.
sqlite3.exe version 3.33.0 has options for all the other modes:
-markdown, etc. But not
And this causes various workarounds because providing a TAB character on the command line is not so straightforward.
sqlite3 mydb "select * from table1" | tr \| '\t'
sqlite3 -separator $'\t' mydb "select * from table1"
($ tells shell to expand \t to a TAB character)
sqlite3 mydb <<EOF .mode tabs select * from table1; EOF
Neither of these solutions work on Windows.
It should be very easy to implement the
-tabs option. And I believe it will make life easier for many people.
(2) By Donald Griggs (dfgriggs) on 2020-10-31 16:12:20 in reply to 1 [link] [source]
Not speaking to the merits of your suggestion directly, but wanted to be sure you're aware that the commandline interface program does easily let you pick a separator for input or output.
(3) By anonymous on 2020-10-31 16:33:23 in reply to 2 [link] [source]
When I do
-separator \t on Windows I get a literal '\t' string as a separator.
I suppose it is the same on Linux. That is why solution #2 above has extra '$'.
And just in case, I did not mean interactive session. There I could activate
.mode tabs directly.
This is about "one-off" commands with the query on the command line.
(4.1) By TripeHound on 2020-10-31 22:15:42 edited from 4.0 in reply to 3 [source]
sqlite3 V1LS.sql3db -cmd ".mode tab" "select * from members"
echo select * from members | sqlite3 V1LS.sql3db -cmd ".mode tab"
seems to work OK in Windows.
(5) By anonymous on 2020-10-31 19:03:36 in reply to 4.0 [link] [source]
I overlooked that
That would be workaround #4.
I still think there should be
-tabs option too though.
(6) By anonymous on 2020-10-31 19:05:34 in reply to 4.0 [link] [source]
Correction: the mode is called 'tabs' not 'tab'.
(7) By Larry Brasfield (LarryBrasfield) on 2020-10-31 19:25:47 in reply to 6 [link] [source]
have the same effect, leaving the tab character as the list mode column separator.