먼저 압축을 풀지 않고 큰 gzip 파일을 더 작은 gzip 파일로 분할하는 방법은 무엇입니까?

먼저 압축을 풀지 않고 큰 gzip 파일을 더 작은 gzip 파일로 분할하는 방법은 무엇입니까?

를 사용하지 않고 큰 gzip 파일을 더 작은 gzip 파일로 분할하는 방법이 있습니까 zcat?

zcat large.bed.gz| split --numeric-suffixes - -b 7M --filter='gzip > $FILE.gz' large.part.

답변1

귀하의 질문에 대한 대답은 (zcat을 다른 것으로 대체하는 대신 시간을 절약하려는 목표를 고려하여 수행할 수 있음)입니다.이건 불가능 해.

문제는 gzip 파일의 압축된 출력이 입력에 따라 길이가 다양하고 이를 쉽게 예측할 수 없으므로 파일을 분할할 명확한 경계가 없다는 것입니다.

또한 귀하가 조언한 명령이 실제 사용하고 있는 명령입니까? 그렇다면 줄 경계가 아닌 임의의 위치에서 파일을 분할하므로 손상됩니다. "-l XXXXX"와 같은 것을 사용해야 합니다. 여기서 XXXXX는 라인 수이고 "-b 7M"은 블록 크기입니다.

추가 해결 방법을 조언할 만큼 충분한 정보를 제공하지 않았지만 .gz 파일이 생성되는 방식을 제어할 수 있는 경우 파일을 생성하면서 파일을 여러 조각으로 분할할 수 있습니다. 이는 매우 일반적이며 다음과 같은 경우가 있습니다. 생성 방법에 따라 배포할 수 있는 다양한 전략.

관련 정보