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.*"