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に保存する必要があります。ダウンロードしたコンテンツをtar
。tar
stdin
つまり、標準のUNIXコマンドを使用してこれを達成する方法を見つけることができませんでした。明らかに、例えば、python
andrequest
とtarfile
モジュールを使っていくつかの内容を直接書くことができます。コーディングに精通していればそれほど難しくないでしょう。
それまで、または利用可能な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
出力ファイルの送信