web-dev-qa-db-ja.com

STDINからデータを読み取りながらファイルを圧縮する

Linuxでstdinからの読み取り中にデータを圧縮(圧縮アーカイブを作成)することは可能ですか?

117
Space

はい、これにはgzipを使用します。最良の方法は、データを入力として読み取り、圧縮ファイルを出力ファイルにリダイレクトすることです。

cat test.csv | gzip > test.csv.gz

cat test.csvはデータをstdoutとして送信し、pipe-sign gzipを使用してそのデータをstdinとして読み取ります。圧縮データは端末に書き込まれないため、gzip出力を何らかのファイルにリダイレクトしてください。

161
Space

はい、gzipはこれを可能にします。単にgzip > foo.gzを実行すると、STDINがファイルfoo.gzに圧縮されます。 some_command | gzip > foo.gzのように、データをパイプすることもできます。

110
jtbandes

gzip > stdin.gzおそらく?それ以外の場合は、質問を具体化する必要があります。

1
retracile