web-dev-qa-db-ja.com

bashの7zコマンドからパーセンテージ情報を取得する

30を超えるファイルを含むアーカイブでは、抽出されたファイルのリストはすぐに面白くなくなります。 .warアーカイブをTomcatアプリフォルダーに抽出するスクリプトを作成しています。

image description

7zコマンドのヘルプを探していると、次の行に気づきました。

-bd:無効にする パーセンテージインジケーター

さて、私は本当にenableパーセンテージインジケーターを使用して、非常識なファイルリストの代わりにそれを使用したいと思います。どうすればいいですか?何かのようなもの:

image description

しかし率直に言って、次のような1行のパーセンテージインジケーターで十分です。

Progress: 30%

標準のユーティリティを使用してこれを実行しようとしている場合は、非常にハッキーな回避策を見つける必要があります。それ以外の場合は、whiptail- http://xmodulo.com/create-dialog-boxes-interactive-Shell-script.html またはpv- http://www.ivarch.com/programs/pv.shtml

1
rubynorails

あなたは本当に Unix用のポータブルバージョンであるp7Zipv9.20を使用しています。 7ZipはGUIとコマンドライン操作を備えたWindowsプログラムであり、そのドキュメントは必ずしもp7Zipに適用されるとは限りません。 v9.20はかなり古い(〜2011)が、2015年まで新しいリリースはありませんでした。配布されたマニュアルページは、最新バージョンであっても、2007年以降変更されていません。

ポータブルp7Zip v16.02 does進行状況インジケーターがあります(-bdはそれを無効にします)。ポータブル版だけの変更ログはないようですので、いつ追加されたのかはわかりませんが、v9.20.1以降もないことを確認しました。

それ以外の場合、汎用ソリューションには、Marcoによって提案されたpmonitorlsofが必要)、または progress (Linux固有)が含まれます。詳細については、この質問も参照してください。 パイプビューアー-進行状況モニターのパフォーマンスへの影響 (私の答えには、追加のツールなしで/procから必要な情報を抽出する方法を示すスクリプトがあります)。

0
mr.spuratic