7-zip akan mengekstrak bagian file dari rar multi-bagian, dan kemudian Anda dapat menjahitnya kembali bersama dengan dd. Misalnya, jika Anda memiliki rar-bagian pertama dan terakhir:
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))
Jika offset yang Anda butuhkan tidak prima, maka gunakan ukuran blok yang lebih besar dari satu. ddhanya dapat seekmengalikan ukuran blok output. ddbenar-benar membuat readdan writepanggilan sistem dengan ukuran blok itu, jadi bs=1sangat menyebalkan.
Besar ibs(ukuran blok input) akan menghemat separuh waktu CPU, karena seekdalam satuan obs(ukuran blok output). Atau mungkin ada beberapa alat lain yang dapat mencari ke posisi byte sewenang-wenang dan kemudian melakukan I / Os berukuran normal. Atau jika Anda membuat skrip ini, Anda dapat bs=1menemukan hingga 32k, maka mungkintail -c +$misalignment lastpart/file | dd ... of=p1/file conv=notrunc bs=32k seek=$(( (full_size - lastpart_size + misalignment) / (32 * 1024) ))