web-dev-qa-db-ja.com

プログラムの出力をZipファイルにリダイレクトする方法は?

サーバーのログを収集するスクリプトを実行しています。このログをZipファイルにリダイレクトする必要があります。現在、データをテキストファイルに収集しています。

どうすれば直接ZIPにリダイレクトできますか?

4
Girija Joshi

UnZip 6.00 of 20 April 2009を使用して、これを行うことができました:

$ date | Zip jeff.Zip -
$ unzip -l jeff.Zip
Archive:  jeff.Zip
  Length      Date    Time    Name
---------  ---------- -----   ----
       29  01-21-2016 13:02   -
---------                     -------
       29                     1 file
$ unzip -p jeff.Zip | cat
Thu Jan 21 13:02:31 EST 2016
$ unzip -p jeff.Zip > newfilename.here

これは、ログファイルを収集するスクリプトの代わりにdateを使用して、おそらく標準出力にします。そのstdoutをZipに送信し、(-を使用して)ファイル名ではなくstdinから入力を取得するよう指示します。 Zipファイルの内容にはわかりやすい名前は付けられていませんが、データはそこにあります。

10
Jeff Schaller

パイプを直接gzipに送信し、圧縮データをファイルにリダイレクトできます。

echo "my not compacted data" | gzip > compact.gz
4
DLopes