使用 tar 命令更改文件大小单位

使用 tar 命令更改文件大小单位

如何更改命令输出的文件大小单位tar

tar tvf test.tar.gz | awk '{print $5,$9}'

我希望它打印以千兆字节为单位的文件大小。

答案1

非常粗略地,你可以:

$ while read size filename; do echo "$filename: $(( size /1024 /1024 /1024))"; done < <(tar tvf test .tar.gz | awk '{print $4,$7}') test1.txt: 1 test2.txt: 5 test3.txt: 0 $

您可能还想添加一些小数精度:

$ while read size filename; do echo "$filename: $(( (size * 100) /1024 /1024 /1024))"; done < <(tar tvf test.tar.gz | awk '{print $4,$7}') | sed 's/\([0-9][0-9]\)$/.\1/' test1.txt: 1.03 test2.txt: 5.93 test3.txt: 0.44 $

相关内容