現在ダウンロード中のファイルのstdinをパイプします。

現在ダウンロード中のファイルのstdinをパイプします。

Googleドライブからzipファイルをダウンロードしています。このファイルにはmp4ビデオが含まれており、ダウンロードが完了するのを待ちたくありません。 VLCは不完全なファイルをうまく再生しますが、ダウンロードしたファイルはmp4ファイルではなくzipファイルです。wgetおそらく、ダウンロードをフィルタに直接ストリーミングして使用し、ファイルに出力してfunzipからストリーミングビデオのように再生する最も簡単な方法です。ただし、Googleドライブからダウンロードできず、引き続きwget誤っERROR 400たリクエストエラーが返されました。 Chromiumでも同じことが起こったcurlので、Chromiumで解決する必要がありました。これにより、ダウンロードするのではなく、不完全なファイルから転送する必要があります。

現在ダウンロード中のファイルを使ってそれらをパイプする簡単な方法はありますかfunzip

ベストアンサー1

tail -n +0 -f /path/to/file | funzip ...

デフォルトでは、tailはファイル長の変化を監視し、追加のバイトをストリーミングし続けます。ただし、ダウンロードがいつ完了するのかわからないため、ストリーム操作によっては、特定の時点でダウンロードを終了する必要があります。

もちろん、ブラウザはファイルを線形にダウンロードしようとし、ファイルが部分的にのみダウンロードされたことを示すメタデータが記録されないと仮定します(後で実際のファイルバイトで上書きされます)。実際、ブラウザのダウンローダは非常に保守的なので、これがうまくいくと予想できます。

おすすめ記事