当我使用“--xf​​orm”时,如何查看任何 tar 进度

当我使用“--xf​​orm”时,如何查看任何 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"

相关内容