.bz2 파일의 압축 해제 된 크기를 결정하는 방법이 있습니까?


34

실제로 전체 압축을 풀지 않고 .bz2 파일의 압축 해제 크기를 인쇄하는 방법이 있습니까?


bzip 출력에 원본 파일에 대한 메타 데이터가 없습니까? > :(
endolith

내가 참조한 것은 아닙니다. : /
quack quixote

답변:


36

다른 사람들이 지적했듯이 bzip2는 많은 정보를 제공하지 않습니다. 그러나이 기술은 효과가 있습니다. 파일을 압축 해제해야하지만 압축 해제 된 데이터를 디스크에 쓸 필요 는 없습니다 . 이는 "충분한"솔루션 일 수 있습니다.

$ ls -l foo.bz2
-rw-r--r-- 1 ~quack ~quack 2364418 Jul  4 11:15 foo.bz2

$ bzcat foo.bz2 | wc -c         # bzcat decompresses to stdout, wc -c counts bytes
2928640                         # number of bytes of decompressed data

이 출력을 다른 것으로 파이프하여 사람이 읽을 수있는 형식을 제공 할 수 있습니다.

$ ls -lh foo.bz2
-rw-r--r-- 1 quack quack 2.3M Jul  4 11:15 foo.bz2

$ bzcat foo.bz2 | wc -c | perl -lne 'printf("%.2fM\n", $_/1024/1024)'
2.79M

9
글쎄, 그것은 계산하는 데 5 분의 100 % CPU가 필요했습니다.
endolith

2
만? 그리고 디스크를 채울까요? 나는 407meg에 불과한 오래된 리눅스 설치의 압축 된 tarball을 가지고 있지만 가난한 고대 서버를 30-45 분 동안 추출했습니다. 디스크 쓰기가 포함되어 있습니다. tho, 스크립트를 실행하여 시간을 정해야합니다. 30 분 후에 다시 돌아
오세요

물론 첫 번째 테스트를 위해 가장 작은 파일을 선택했습니다. 140MB 압축-> 3GB 비 압축 더 큰 파일은 5GB 압축됩니다.
endolith

ㅎ ..께요을 알고있는 5GBs는 것으로 판명 얼마나 큰 ... 그리고이 XD를 통해 그것을 파악하는 데 걸리는 시간
키호테 돌팔이 의사

-3

압축을 풀지 않고 .bz 확장명 텍스트 파일을 읽습니다.

bzcat dbtax_ext_en.ttl.bz2 |zless

1
bzcat과 zless는 이와 같이 작동하지 않습니다. "bzcat file.bz2 | less"또는 "bzless file.bz2"또는 gzip 파일이있는 경우 "zcat file.gz | less"또는 "zless file.gz"를 사용하십시오. 실제로 zless 매뉴얼 페이지에 "Zless는 표준 입력을 통해 파이프 된 압축 데이터와는 작동하지 않으므로 입력 파일을 인수로 지정해야합니다."
Nick Russo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.