Bagaimana cara memecah file + 4GB yang besar menjadi file yang lebih kecil, masing-masing sekitar 500MB .
Dan bagaimana cara merakit ulang mereka lagi untuk mendapatkan file asli?
command-line
split
Stefan
sumber
sumber
Jawaban:
Anda dapat menggunakan split dan cat .
Misalnya sesuatu seperti
(di mana nama file input
foo
dan argumen terakhir adalah awalan output). Ini akan membuat file sepertifoo.000 foo.001
...Perintah yang sama dengan opsi pendek:
Anda juga dapat menentukan "--line-byte" jika Anda ingin membaginya pada batas-batas garis, bukan hanya jumlah byte yang tepat.
Untuk merakit kembali potongan-potongan yang dihasilkan lagi Anda dapat menggunakan misalnya:
(dengan asumsi bahwa shell mengurutkan hasil shell globbing - dan jumlah bagian tidak melebihi batas ketergantungan sistem argumen)
Anda dapat membandingkan hasilnya melalui:
(yang seharusnya menghasilkan 0)
Atau, Anda dapat menggunakan kombinasi find / sort / xargs untuk merakit kembali potongan-potongan:
sumber
man split cat md5sum
cat foo.{000..NNN}
manaNNN
bagian terakhir yang diharapkan. Dengan begitu Anda mendapatkan pesan kesalahan jika salah satu bagian hilang. Tetapi perhatikan bahwa-d
untuk mendapatkan sufiks numerik khusus untuk GNU split; pada platform lain Anda harus membuat hubungannya denganfoo.aaa
,foo.aab
, dllsplit
, KB = 1000, K = 1024, MB = 1000 * 1000, M = 1024 * 1024 dll.... cat > foo_3
seharusnya... cat >>foo_3
?rar
dan7zip
sering digunakan dalam membuat perpecahan seperti itu lebih mudah untuk dipasang kembali lintas-platformAnda juga dapat melakukan ini dengan Manajer Arsip jika Anda lebih suka GUI. Lihat di bawah 'Simpan-> Opsi Lain-> Pisahkan ke dalam volume'.
sumber