我希望我的sqlite3输出由制表符分隔。 -column选项不适合我,因为带空格和我的值的单独记录有空格但没有标签。
如果我以交互方式使用sqlite3,我可以使用.mode tab
。单行命令有-separator选项,但我不知道如何在那里添加一个被解释为选项卡而不是文字的选项卡(可能带有和ASCII代码?)
有什么建议吗?我找到的所有谷歌示例都是针对交互式sqlite3。
目前我正在使用蛮力方法:
sqlite3 -header mydb "select * from table1" | tr \| '\t' > myoutput
答案 0 :(得分:23)
这应该有效:
sqlite3 -separator $'\t' -header mydb "select * from table1"
$告诉你的shell扩展为制表符。
答案 1 :(得分:13)
您可以在shell脚本中使用sqlite时直接使用.mode tab
(例如),使用以下文档:
sqlite3 -header mydb <<EOF
.mode tabs
select * from table1;
EOF
答案 2 :(得分:1)
这在Linux和Windows上均可使用:
sqlite3 -header -cmd ".mode tabs" mydb "select * from table1"