tar wget 結果 [閉じる]

tar wget 結果 [閉じる]

wgetファイルを望んtarでコマンドを使用すると簡単なようですが、完了できません。色々試してみました。

wget <url> | tar -cvz file.gz.tar -

tar -cvzf file.tar `wget <url>`

wget -qO <url> | tar -cvf file.tar

wget <url> -O - | tar

助けが必要ですか?

答え1

本当にファイルが欲しいですかtar、それとも圧縮形式でファイルをダウンロードしたいですか?ファイルを圧縮すると(圧縮されていない)ファイルは(圧縮されていない)アーカイブにまとめられます。ファイルを圧縮ファイルとしてダウンロードするには、次のものを使用できます。

wget -qO - <url>|gzip -c - > file.gz

答え2

この方法では入力ストリームを処理できません。処理できるように設計されています。文書。説明するプロフィールを正常に作成したらどうなりますか?どのように開梱しますか?ファイル名は生成する必要はなく、データを生成するだけです。

私の考えの最良の方法は、ファイルをインポートして2つの別々のコマンドに圧縮することです。ファイルをドライブに保持したくない場合は、tar--remove-filesフラグを使用できます。

wget http://example.com/filename && tar cvzf file.tgz --remove-files filename

答え3

必要に応じて動作しません。ファイル(明らかにファイル名を含む)をtarに保存する必要があります。ダウンロードしたコンテンツをtartarstdin

つまり、標準のUNIXコマンドを使用してこれを達成する方法を見つけることができませんでした。明らかに、例えば、pythonandrequesttarfileモジュールを使っていくつかの内容を直接書くことができます。コーディングに精通していればそれほど難しくないでしょう。

それまで、または利用可能なUnixコマンドに依存する必要がある場合は、一時ファイルをダウンロードしてファイルを削除し、削除する方法に固執する必要があります。ファイル名を複数回指定する必要がないように変数を使用することをお勧めします。

DOWNLOAD=<FILENAME>; wget <DOMAIN>/$DOWNLOAD && tar -cvf $DOWNLOAD.tar --remove-files $DOWNLOAD

答え4

wget -qO - <url> |gzip -c > file_name.gz

-c標準出力用。これが>使用されます。標準出力ライブラリを使用して、ファイルをwgetからfile_name.gzにシリアル化します。

-qO出力ファイルの送信

関連情報