如何将 sqlite3 输出重定向到文件

5 io-redirection sqlite

我安装sqlite3并想用它来恢复stylish.sqlite 位于我的 Firefox 配置文件文件夹中的信息,这些信息是由Stylish 扩展生成的:

$ cd ~/.mozilla/firefox/w4wcp85s.default
$ sqlite3 stylish.sqlite
SQLite version 3.7.17 2013-05-20 00:56:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .tables
style_meta  styles
sqlite> SELECT * FROM styles;
6||||YouTube|/* AGENT_SHEET */ 
/* ?? NIGHTSHIFT - eye care:                                 ??
   ??_http://userstyles.org/styles/18192/nightshift-eye-care_?? */

@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document regexp("https?://www.youtube.com/.*")  {
body,html {min-height: 100%!important; }
html, body{background-color:#111!important}
body>*:not(:empty){background-color:#222!important}
body>*>*:not(:empty){background-color:#222!important}
body>*>*>*:not(:empty){background-color:#282828!important}
... 
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何将输出捕获sqlite> SELECT * FROM styles;到文件中?(我知道我可以在终端中选择输出并将其复制到文件中。)

slm*_*slm 6

将其全部作为单个命令运行:

$ sqlite3 stylish.sqlite "SELECT * FROM styles;" > somefile.txt
Run Code Online (Sandbox Code Playgroud)

例子

$ sqlite3 addons.sqlite "select * from icon;" > somefile.txt

$ cat somefile.txt 
1|32|https://addons.cdn.mozilla.net/img/uploads/addon_icons/354/354399-32.png?modified=1369154804
1|64|https://addons.cdn.mozilla.net/img/uploads/addon_icons/354/354399-64.png?modified=1369154804
Run Code Online (Sandbox Code Playgroud)

使用三通

如果您想在将输出写入文件时查看输出,则可以tee改用。

$ sqlite3 addons.sqlite "select * from icon;" | tee somefile.txt
1|32|https://addons.cdn.mozilla.net/img/uploads/addon_icons/354/354399-32.png?modified=1369154804
1|64|https://addons.cdn.mozilla.net/img/uploads/addon_icons/354/354399-64.png?modified=1369154804
Run Code Online (Sandbox Code Playgroud)