
Eldocumentación SQLite para su cliente de línea de comandos indica que es posible filtrar la salida de consultas SQLite a través de utilidades UNIX:
El modo de salida predeterminado es "lista". El modo Lista de
mensajes
es especialmente útil cuando va a enviar el resultado de una consulta a otro programa (como AWK) para su procesamiento adicional.
ejemplo de salida producida en un símbolo del sistema SQLite
sqlite> select * from todos;
1|finish reading getting started section of the vim manual
2|finish app feature
luego, si intento agregar una tubería al comando, aparece un nuevo mensaje
sqlite> select * from todos; | grep vim
...>
¿Es posible enviar la salida a una utilidad Unix usando una tubería desde la línea de comando SQLite, o solo es posible filtrar la salida SQLite si en realidad estás escribiendo una aplicación C y usando la biblioteca SQLite C?
Respuesta1
No puede canalizar la salida de una sesión SQLite interactiva porque no es un shell. |
no hace en SQL lo que hace en una línea de comando. Lo que probablemente necesites hacer es algo parecido a sqlite3 /path/to/mydata.sqlite "select * from todos" | grep vim
, que ejecutará el SQL y grep
el resultado como parece que estás intentando hacer.
Respuesta2
Es posible filtrar el resultado de una consulta a través de un comando anteponiendo el argumento a .output
o .once
con un |
.
.once '|grep vim'
select * from todos;
Desafortunadamente, esto no interactúa bien con programas que se apoderan de todo el terminal, como los buscapersonas. Para eso lo recomiendo mucholitecli.