SQLiteコマンドライン:出力をUNIXユーティリティにパイプする方法は?

SQLiteコマンドライン:出力をUNIXユーティリティにパイプする方法は?

これSQLiteドキュメント そのコマンドラインクライアントは、SQLiteクエリの出力がUNIXユーティリティを介してフィルタリングできることを示します。

デフォルトの出力モードは「リスト」です。
[...]
リストモードは、追加処理のためにクエリ出力を別のプログラム(AWKなど)に送信したい場合に特に便利です。

SQLiteコマンドプロンプトで生成された出力の例

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

その後、コマンドにパイプを追加しようとすると、新しいプロンプトが表示されます。

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

SQLiteコマンドラインでパイプを使用して出力をUnixユーティリティに送信できますか?それとも、実際にCアプリケーションを作成してSQLite Cライブラリを使用している場合にのみSQLite出力をフィルタリングできますか?

ベストアンサー1

対話型SQLiteセッションはシェルではないため、出力をパイプできません。 |SQLでは、コマンドラインとは異なります。おそらくあなたがしなければならないことは、sqlite3 /path/to/mydata.sqlite "select * from todos" | grep vimSQLを実行してgrep何をしたいのかを出力することです。

おすすめ記事