CURL出力を名前付きアーカイブ項目に直接圧縮するにはどうすればよいですか?

CURL出力を名前付きアーカイブ項目に直接圧縮するにはどうすればよいですか?

リモートホストでCURLを処理する必要がある何百ものテキストファイルがあります。

現在、各ファイルをダウンロードして新しいファイルに圧縮するループがあります.zip entry

各CURLの結果がアーカイブエントリとして使用されるように、CURLの出力をアーカイブユーティリティ(zip、gzip、tar、rarなど何でも構いません)に直接パイプできますか?

ベストアンサー1

の標準出力が端末でない場合は、curlダウンロードしたコンテンツをファイルに書き込む代わりに端末に出力します。その後、標準入力を読み取る他のツールの機能と組み合わせることができます。複数のアイテムを含むアーカイブを作成するには、使用する名前を知らせるツールを使用する必要があります。7z:

curl https://raw.githubusercontent.com/akka/akka/master/README.md | 7z a -siREADME.md akka.7z
curl https://raw.githubusercontent.com/akka/akka/master/RELEASING.md | 7z a -siRELEASING.md akka.7z

次のコンテンツを含むアーカイブが作成されますakka.7zREADME.mdRELEASING.md

$ 7z l akka.7z
   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
2019-03-06 10:15:45 .....         3236         1457  README.md
2019-03-06 10:16:18 .....         3001         1437  RELEASING.md
------------------- ----- ------------ ------------  ------------------------
2019-03-06 10:16:18               6237         2894  2 files

7zすべてのアーカイブ形式がサポートされているわけではありません。たとえば、ZIPファイルで動作させることはできません。)

おすすめ記事