명령 출력의 파일 크기 단위를 변경하는 방법은 무엇입니까 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 $