7-zip은 다중 부분 RAR에서 파일의 일부를 추출한 다음 dd와 함께 다시 스티치 할 수 있습니다. 예를 들어, 첫 번째 및 마지막 rar-part가있는 경우 :
7z x p1.rar
mv dir p1 # rename out of the way
7z x plast.rar
unrar l p1.rar
# note the file size of the entire file
ls -l dir/file # note the size of the last part
dd if=dir/file of=p1/file conv=notrunc bs=1 seek=$((full_size - lastpart_size))
찾고자하는 오프셋이 소수가 아닌 경우 블록 크기를 1보다 크게 사용하십시오. 출력 블록 크기의 배수 dd
에만 가능 seek
합니다. dd
정말 메이크업 수행 read
하고 write
그 블록의 크기가 시스템 호출을, 그래서 bs=1
정말 안됐다.
ibs
(입력 블록 크기) seek
단위 이므로 (입력 블록 크기)가 크면 CPU 시간의 절반이 절약 obs
됩니다. 또는 임의의 바이트 위치를 찾은 다음 보통 크기의 I / O를 수행 할 수있는 다른 도구가있을 수 있습니다. 또는 이것을 스크립팅하는 경우 bs=1
최대 32k 정렬로 dd 할 수 있습니다.tail -c +$misalignment lastpart/file | dd ... of=p1/file conv=notrunc bs=32k seek=$(( (full_size - lastpart_size + misalignment) / (32 * 1024) ))