.gz 파일로 저장되는 이미지 작업 (내 이미지 처리 소프트웨어는 디스크 시간/공간을 줄이거 나 .gz 파일을 읽을 수 있음) 각 파일의 헤더를 확인해야합니다.부분 감압 가능합니까?
헤더는 각 이미지의 시작 부분에 고정 크기의 작은 구조체이며 압축되지 않은 이미지의 경우 매우 빠르게 검사됩니다. 압축 된 이미지를 읽으려는 경우, 전체 파일의 압축을 풀고이 헤더를 확인하는 것이 선택의 여지가 있습니다. 물론이 과정을 통해 프로그램이 느려집니다.
.gz 파일의 첫 번째 세그먼트 (예 : 몇 K)를 읽고이 세그먼트의 압축을 풀고 원본 콘텐츠를 읽을 수 있습니까? gz에 대한 나의 이해는 시작 시점의 일부 부기 후에 압축 된 데이터가 순차적으로 저장된다는 것입니다.
그래서 대신
1. 큰 파일 F
2. 압축 해제 큰 파일 F
3.
4. 큰 파일 F
을 재 압축 500 바이트 헤더를 읽을 수 1. 대용량 파일 열기 F
2. 에서 처음으로 5K를 읽습니다. 스트림으로 A
개 3. 압축 해제는 A
스트림으로 B
4. 내가 libz.so
하지만 다른 언어 솔루션을 부탁드립니다 사용하고 B
에서 500 바이트의 헤더를 읽어!
이 방법으로'dd '를 사용하는 것은 [gzip으로 1024 바이트의 배수로 쓰는 것에 달려 있습니다] (https://unix.stackexchange.com/questions/415799/how-to-partially-extract-zipped-huge-plain) -text-file # comment746367_415808), 왜냐하면'dd '는 바이트 중심이 아닌 블록 지향적 ('read' 시스템 호출 횟수)이기 때문입니다. 더 쉽고 효율적인'head -c $ ((1024 * 10))'을 사용하라. 관련 [압축 된 거대한 일반 텍스트 파일을 부분 추출하는 방법?] (https://unix.stackexchange.com/questions/415799/how-to-partially-extract-zipped-huge-plain-text-file) –