我想知道是否有一种方法可以通过 shell 中的“unzip”解压缩文件,同时仅输出当前文件,而不是完全静音“-q”或不断增长的列表,这会减慢进程速度,尤其是通过 ssh 并填满你的控制台窗口。
或者至少有另一种方法可以查看进度而不必输出每一条路径?
答案1
您可以pv
在行模式下使用:
unzip archive.zip | pv -l >/dev/null
为您提供如下所示的更新进度线:
203 0:00:00 [3.93k/s] [ <=> ]
答案2
您可以使用pv
之类的工具tar
,但它不适用于 unzip。如果您尝试使用它,它不会显示其进度。
您可以使用类似下面的技巧来显示进度,该技巧实际上会为输出的每一行(每个提取的文件)打印一个点。这将比为每个文件显示一行更简洁,并且仍显示解压缩的进度。
unzip file.zip | awk 'BEGIN { ORS = " " } { print "." }'