lftpから進捗情報にアクセスしたいのですが。現在、私はそのようなカールを使用しています:
curl http://example.com/file -o file -L 2> download.log
これにより、curlの進行状況情報がdownload.logファイルに書き込まれます。これは、リアルタイムの進行状況を取得するために調整できます。
ただし、同じアプローチは、stdoutまたはstderrを使用するlftpでは機能しません。転送が完了するまで、download.logファイルが空になります。
lftp -e 'get http://example.com/file;quit' 2> download.log
lftp -e 'get http://example.com/file;quit' 1> download.log
出力をリダイレクトしない場合、画面に進行状況が表示されます。出力をリダイレクトすると、画面に進行状況が表示されなくなりますが、download.logには何も表示されません。ファイル転送が完了すると、次のような最終結果が表示されますが、以前は何も表示されていません。
97618627 bytes transferred in 104 seconds (913.1K/s)
lftpはその出力で異常なことをしていますか-stdout / stderrに出力せずに画面に出力していますか?stdout / stderrをリダイレクトする以外に、画面出力をキャプチャする他の方法はありますか?