sqlite3输出,带有来自一行命令的选项卡

Pab*_*cia 14 sqlite

我希望我的sqlite3输出由制表符分隔.-column选项不适合我,因为带有空格和我的值的单独记录有空格但没有制表符.

如果我使用交互式sqlite3我可以使用.mode tab.单行命令有-separator选项,但我不知道如何在那里添加一个选项卡,它被解释为一个不是文字的选项卡(可能带有和ASCII代码?)

有什么建议?我发现的所有谷歌示例都是针对交互式sqlite3的.

目前我正在使用蛮力方法:

sqlite3 -header mydb "select * from table1" | tr \| '\t' > myoutput
Run Code Online (Sandbox Code Playgroud)

小智 24

这应该工作:

sqlite3 -separator $'\t' -header mydb "select * from table1"
Run Code Online (Sandbox Code Playgroud)

$告诉你的shell扩展为制表符.


小智 13

您可以.mode tab在shell脚本中使用sqlite时直接使用(例如),使用以下文档:

sqlite3 -header mydb <<EOF
.mode tabs
select * from table1;
EOF
Run Code Online (Sandbox Code Playgroud)


Dzm*_*try 5

这适用于 Linux 和 Windows:

sqlite3 -header -cmd ".mode tabs" mydb "select * from table1"
Run Code Online (Sandbox Code Playgroud)