입력으로 .tar.gz가 있고 그 중 처음 128MiB를 추출하여 단일 명령으로 .tar.gz로 출력하려고 합니다. 나는 시도했다:
sudo tar xzOf input.tar.gz | sudo dd of=output bs=1M count=128 iflag=fullblock | sudo tar -cfz final.tar.gz -T -
이것은 분명히 작동하지 않습니다. 어떻게 해야 하나요?
답변1
아카이브의 내용을 추출하려고 시도하지 말고(여기에서는 작동하지 않습니다. 개별 파일의 메타데이터를 추적할 수 있는 방법이 없습니다) 대신 압축을 풀고 자르고 다시 압축하십시오. 이 작업을 수행하는 버전이 있는 경우 head
:
gzip -dc input.tar.gz | head -c128M | gzip -c > final.tar.gz
또는 dd
다음 명령을 사용할 수 있습니다.
gzip -dc input.tar.gz | dd bs=1M count=128 iflag=fullblock | gzip -c > final.tar.gz