SQLite 命令行:如何将输出通过管道传输到 UNIX 实用程序?

the*_*fog 2 pipe sqlite

其命令行客户端的SQLite 文档表明它可以通过 UNIX 实用程序过滤 SQLite 查询的输出:

默认输出模式是“列表”。
[...]
当您要将查询的输出发送到另一个程序(例如 AWK)以进行额外处理时,列表模式特别有用。

在 SQLite 命令提示符下生成的输出示例

sqlite> select * from todos;
1|finish reading getting started section of the vim manual
2|finish app feature
Run Code Online (Sandbox Code Playgroud)

然后,如果我尝试向命令添加管道,我只会得到一个新提示

sqlite> select * from todos; | grep vim
...> 
Run Code Online (Sandbox Code Playgroud)

是否可以使用来自 SQLite 命令行的管道将输出发送到 unix 实用程序,或者是否只能在您实际编写 C 应用程序并使用 SQLite C 库时过滤 SQLite 输出?

Dop*_*oti 5

您不能通过管道从交互式 SQLite 会话中输出输出,因为它不是 shell。 |在 SQL 中不做它在命令行上做的事情。您可能需要做的是类似于 的事情sqlite3 /path/to/mydata.sqlite "select * from todos" | grep vim,它将执行 SQL 以及grep您似乎正在尝试执行的输出。