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