"--xform"を使用するときにtarの進行状況をどのように確認できますか?

"--xform"を使用するときにtarの進行状況をどのように確認できますか?

廃棄されたディレクトリ構造を抽出する次の機能があります。

tarx() {
    STRIP=${1%.*}  # strip last suffix
    NAME=${STRIP%.tar}  # strip .tar suffix, if present
    tar -xvf "$1" --xform="s|^|$NAME/|S"
}

$ tarx bone.n26c100.tbz2

インポート中に進行状況バーを表示したいです。

私は試した:

$ pv "$1" | tar -xvf "$1" --xform="s|^|$NAME/|S"
B 0:00:29 [0.00 B/s] [<=>

進行状況の変更は表示されません。フラグをtar使用している場合は、進行状況バーを適用する方法です--xform=


関連:https://superuser.com/questions/168749/is-there-a-way-to-see-any-tar-progress-per-file

答え1

tarファイルではなくパイプから読み取るように指示する必要があります。

pv "$1" | tar -xvf - --xform="s|^|$NAME/|S"

関連情報