pv DrWise_upgrade_tools_DrWise_220531_Cluster_new_20221215.tgz |tar zxf - -C /tmp
file= ;lsof -o0 -oFo $file |awk -Ft -vS=$(stat -c %s $file) '/^o/{printf("%d%%\n",100*$2/S)}'
这条命令是一个复杂的 shell 命令,用于计算指定文件的打开百分比。让我们一步步来解释每个部分:
lsof
:列出当前系统上打开的文件列表。-o0
:此参数用于指定输出格式。在这里,-o0
表示使用零作为字段分隔符。-oFo $file
:指定需要查询的文件。$file
是一个变量,存储了文件的路径。|
:管道操作符,将上一个命令的输出作为下一个命令的输入。awk -Ft -vS=$(stat -c %s $file)
:awk
是一个文本处理工具,用于按行处理输入并进行处理。-Ft
指定了字段分隔符为制表符(tab)。-vS=$(stat -c %s $file)
用于定义一个名为S
的awk
变量,它的值是通过stat
命令获取的文件大小。'/^o/{printf("%d%%\n",100*$2/S)}'
:这部分是awk
的程序块,用于对输入进行处理。/^o/
是一个模式匹配,表示只处理以o
开头的行。printf("%d%%\n",100*$2/S)
是打印格式,用于计算打开文件百分比并输出结果。
对于镜像导入都不行。
docker
ctr