標準出力を直接 gzip 圧縮する

-c オプション

コマンドの標準出力を直接gzipコマンドで圧縮するには-cオプションを指定して以下のようにする。

コマンド | gzip -c > 出力ファイル名.gz

echo "Hello, World!" | gzip -c > hello.gz

標準エラーも含めて gzip 圧縮する

上記コマンドでは標準エラーは含まれない。
標準エラーも含めてgzip圧縮するには2>&1で標準エラーを標準出力にリダイレクトする。

コマンド 2>&1 | gzip -c > 出力ファイル名.gz

追記する

既に存在するgzファイルに追記するには>>でリダイレクトすればよい。

コマンド | gzip -c >> 出力ファイル名.gz

tee コマンドを使って標準出力をファイルに保存しつつ gzip 圧縮する

teeコマンドを使って標準出力をファイルに保存しつつgzip圧縮するには以下のようにする。

コマンド | tee >(gzip -c > 出力ファイル名.gz)

seq 100 | tee >(gzip -c > numbers.gz)

標準エラーも含めてgzip圧縮する場合は以下のようにする。

コマンド 2>&1 | tee >(gzip -c > 出力ファイル名.gz)

新しめのシェルであれば|&を使って以下のようにも書ける。

コマンド |& tee >(gzip -c > 出力ファイル名.gz)

» 参考:teeコマンドで標準エラー出力もファイルに出力する

追記するには>>でリダイレクトすればよい。

コマンド | tee >(gzip -c >> 出力ファイル名.gz)

標準入力から直接 gzip 解凍する

-d オプション

gzipコマンドで圧縮されたファイルを標準出力に解凍するには-dオプションを指定して以下のようにする。

コマンド | gzip -d

cat hello.gz | gzip -d

zcat コマンド

zcatコマンドを使っても同様に解凍できる。

zcat hello.gz

macOSの場合はzcatコマンドの代わりにgzcatコマンドを使う。

gzcat hello.gz