Linha de comando do SQLite: Como você canaliza a saída para um utilitário UNIX?

1

A documentação do SQLite para seu cliente de linha de comando indica que é possível filtrar a saída de consultas SQLite por meio de utilitários UNIX :

The default output mode is "list".
[...]
List mode is especially useful when you are going to send the output of a query to another program (such as AWK) for additional processing.

exemplo de saída produzida em um prompt de comando do SQLite

sqlite> select * from todos;
1|finish reading getting started section of the vim manual
2|finish app feature

então, se eu tentar adicionar um pipe ao comando, acabei de receber um novo prompt

sqlite> select * from todos; | grep vim
...> 

É possível enviar a saída para um utilitário unix usando um pipe da linha de comando do SQLite ou só é possível filtrar a saída do SQLite se você estiver realmente escrevendo um aplicativo C e usando a biblioteca SQLite C?

    
por the_velour_fog 21.06.2016 / 08:07

1 resposta

2

Você não pode canalizar a saída de uma sessão SQLite interativa porque não é um shell. | não faz no SQL o que faz em uma linha de comando. O que você provavelmente precisa fazer é algo parecido com sqlite3 /path/to/mydata.sqlite "select * from todos" | grep vim , que executará o SQL e grep da saída como você parece estar tentando fazer.

    
por 21.06.2016 / 08:22

Tags