
コマンド出力のファイルサイズ単位を変更するには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 $