在sqlite3批处理模式下覆盖.sqliterc .mode

时间:2014-03-17 14:53:18

标签: sqlite batch-processing

我有一个带.mode列的.sqliterc文件。

现在尽管我跑了

sqlite3 -separator $'\t' .....

用空格填充,而不是标签:

sqlite3 -separator $'\t' ..... | cat -A

 -- Loading resources from /home/xyz/.sqliterc
 Ensembl_Gene_ID     gene      $
 ------------------  ----------$
 ENSMUSG00000038503  Mesdc2    $
 ENSMUSG00000038503  Mesdc2    $
 ENSMUSG00000038503  Mesdc2    $
 ENSMUSG00000038503  Mesdc2    $

如何覆盖.sqlitrc中的一些选项。如果有可能我宁愿不关闭.sqliterc但是会覆盖一些选项。

1 个答案:

答案 0 :(得分:2)

-separator $'\t'选项无法生效,因为在column输出模式下each record is shown on a separate line with the data aligned in columns

sqlite3命令行选项会覆盖.sqliterc中的设置。尝试使用-list选项覆盖输出模式,然后您会看到-separator $'\t'生效。

sqlite3 -separator $'\t' -list  -header  test.db "select * from test" | cat -A

输出处于list模式,\t作为分隔符:

-- Loading resources from /home/test/.sqliterc
Ensembl_Gene_ID^Igene$
ENSMUSG00000038503^IMesdc2$
ENSMUSG00000038503^IMesdc2$
ENSMUSG00000038503^IMesdc2$
ENSMUSG00000038503^IMesdc2$