Linux: Bagaimana memecah file besar menjadi file kecil?

10

Saya memiliki file raksasa (> 20 gigs) yang duduk di mesin sumber saya dan saya perlu mentransfernya ke mesin target saya. Untuk keperluan pertanyaan ini, mari kita asumsikan bahwa saya tidak memiliki konektivitas jaringan antara dua mesin.

Saya perlu memecah file ini menjadi serangkaian file yang lebih kecil, menulis file yang lebih kecil ke DVD, kemudian merakit kembali semua yang ada di mesin target.

Mesin sumber dan tujuan adalah kotak Linux. Apakah ada cara untuk mencapai ini dengan menggunakan tar? Saya merasa bahwa saya perlu menggunakan --multi-volumeparameter. Apa saja pilihan saya?

Saya harus dapat menentukan ukuran file volume, untuk memastikan bahwa masing-masing akan masuk ke dalam satu DVD.

Terima kasih!

Dapat diakses
sumber

Jawaban:

14

Gunakan perintah split.

split -b 22 m newfile.txt new akan membagi file "newfile.txt" menjadi tiga file terpisah yang disebut newaa, newab dan newac masing-masing file ukuran 22 MB.

duffbeer703
sumber
3
Hati-hati membuat awalan "baru" yang Anda bagikan dengan file asli "newfile.txt". Sekarang ketika Anda mencoba melakukannya cat new* > newfile.txtakan meledak!
Robert Martin
@RobertMartin Tangkapan bagus!
duffbeer703
6

Jawaban lain telah dicakup splituntuk menggabungkannya ke satu file master yang baru saja Anda gunakan cat.

koenigdmj
sumber
3

Ini dapat dilakukan dengan mudah menggunakan split , yang seharusnya sudah tersedia di basis distribusi Anda karena merupakan bagian dari gnu coreutils .

Jan Jungnickel
sumber
0

split -b 4000000000 file_name

Ini akan membuat setiap file 4 GB


sumber