그만큼SQLite 문서 해당 명령줄 클라이언트의 경우 UNIX 유틸리티를 통해 SQLite 쿼리의 출력을 필터링할 수 있음을 나타냅니다.
기본 출력 모드는 "목록"입니다.
[...]
목록 모드는 추가 처리를 위해 쿼리 출력을 다른 프로그램(예: 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 vim
SQL을 실행하고 grep
당신이 시도하는 것처럼 보이는 출력을 실행하는 것과 유사한 것입니다.
답변2
.output
인수 앞에 또는 .once
를 추가하여 명령을 통해 쿼리 출력을 필터링할 수 있습니다 |
.
.once '|grep vim'
select * from todos;
불행히도 이것은 호출기와 같이 전체 터미널을 차지하는 프로그램과 잘 상호 작용하지 않습니다. 그러기 위해서는 적극 추천합니다라이트클리.