trdsql ワイルドカード、圧縮ファイル
Posted on:
Wildcard
ここまでは一つのファイルを対象としてきましたが、ログファイル等はローテートされて複数のファイルになっている場合があります。
同じ列で構成されている対象ファイルであれば、ワイルドカードを使用して、複数のファイルを一つのテーブルとして扱うことができます。
$ ls test*.csv
test1.csv  test2.csv  test3.csv
trdsql -icsv "SELECT COUNT(*) FROM test*.csv"
15圧縮ファイル
また古いログファイルは圧縮されている場合があります。[gzip, bzip2, zstd, lz4, xz]圧縮であれば自動で伸長して実行します。
trdsql -iltsv "SELECT * FROM access.log.2.gz"
圧縮ファイルとワイルドカードを組み合わせて実行することもできます。
$ ls
access.log    access.log.1    access.log.2.gz
trdsql -iltsv "SELECT * FROM access.log.*"