Bagaimana cara membagi file yang lebih besar menjadi bagian yang lebih kecil?
189
Saya punya file besar (8GB untuk Contoh). Bagaimana saya bisa membaginya menjadi beberapa bagian, katakanlah 3 bagian yang sama, dan setelah itu bagaimana saya mengintegrasikannya nanti?
Apakah Anda yakin "Sepertinya ini"? Heck, itu adalah hal yang persis sama. Kecuali di sini sekarang dengan bonus "Lebih banyak contoh dan alternatif."
Luis Alvarado
Mungkin membantu jika Anda mengatakan lebih banyak tentang mengapa Anda ingin membaginya, dan apakah Anda ingin membaginya menjadi beberapa substring byte atau apakah Anda terbuka untuk membungkusnya dengan segala jenis pengecekan atau pelabelan kesalahan. Jika ini untuk meletakkannya di media yang lebih kecil atau untuk transfer jaringan saya akan melihat sesuatu seperti par2 .
satu liner untuk sama-sama dibagi dengan N: (1.) dipisah oleh garis-garis - baris $ (($ (wc-l <$ {your_filename}) / $ {N})) $ {your_filename} (2.) dibagi dengan bytes split --bytes $ (($ (wc -c <$ {your_filename}) / $ {N})) $ {your_filename}
Trevor Boyd Smith
Jawaban:
272
Ada beberapa cara untuk mencapai ini. Mari kita mulai dengan yang dasar.
Menggunakan perintah split dan cat :
Katakanlah saya memiliki gambar dan ukurannya terlalu besar (10MB). Yang saya lakukan adalah:
dan kemudian menggabungkannya saya menggunakan cat:
cat prefixFiles* > newimage.jpg
Sebagai contoh:
Dengan asumsi saya berada di dalam folder di mana gambar itu berada:
split --bytes=1M myimage.jpg new
jika gambar ada di dalam direktori bernama gambar, Anda juga dapat melakukan ini:
split --bytes=1M images/myimage.jpg new
Jika gambar ada di dalam direktori / home / cyrex / images Anda dapat melakukan ini:
split --bytes=1M /home/cyrex/images/myimage.jpg new
(Dalam semua kasus di atas akan terpecah myimage.jpg-pecah 1MB dan awalan nama potongan-potongan dengan kata baru. Jadi mereka akan terlihat seperti newaa, newab, newac, newad...)
Jika Anda memisahkan file teks dan ingin membaginya dengan baris, Anda dapat melakukan ini:
split -l 1000 book.txt new
Yang akan membagi file teks dalam file output masing-masing 1000 baris. Ini adalah cara lain untuk membagi file dan sebagian besar digunakan untuk file teks seperti log, sql dumps, file csv, dll.
Lalu saya menggabungkan mereka
cat new* > newimage.jpg
Ini satu arah. Anda bahkan dapat mengubah ukuran potongan yang pecah. Hanya mengubah bagian yang mengatakan --bytes=1Muntuk --bytes=1Kselama 1 kilobyte atau 1G untuk giga, atau nomor lain seperti --bytes=4Kpotongan 4KB.
Menggunakan Nautilus
Cara lain adalah opsi kompres di gui Nautilus. Ini memberi Anda opsi untuk membagi file atau file yang ingin Anda kompres menjadi ukuran megabyte yang lebih kecil. Sederhana dan mudah.
Namun cara lain adalah menggunakan 7z
Dengan asumsi Anda memiliki image ISO yang disebut ubuntu.isoAnda bisa melakukan ini:
7z a -v5m -mx0 ubuntu.7z ubuntu.iso
Ini akan membuat file ukuran 5MB dari ubuntu.iso. Ini -v5madalah ukuran volume sehingga Anda dapat mengubahnya ke 10, 12, 1, 3 dan juga m dapat diubah menjadi k untuk kilobyte, dll; yang -mx0beralih mengatakan 7-Zip untuk tidak menggunakan kompresi, yaitu, hanya untuk membagi data menjadi bagian-bagian.
Untuk mengekstrak cukup lakukan
7z x ubuntu.7z.001
dengan cara ini Anda mengekstrak file pertama dan 7z mulai mengekstraksi dari file berikut secara berurutan. Anda juga bisa melakukannya
Tidak memasukkan rar karena belum open source (Sejauh yang saya tahu) dan tidak menambahkan Tar karena saya mencari cara mudah untuk melakukan split.
Luis Alvarado
Tambahkan gzip juga - 7zip membutuhkan paket instal iirc
Broam
Untuk apa yang saya tahu, Gzip (seperti tar) tidak memiliki opsi yang mudah untuk membagi file terkompresi. Dalam semua kasus saya telah melihat mereka menggunakan perintah split untuk "membagi" file kompres. Jadi itu tidak akan menjadi perintah tetapi sekelompok perintah untuk mencapai satu tujuan yang dapat dilakukan dengan satu seperti split atau 7z. Untuk pemasangan 7Zip (yang merupakan paket p7zip dari paket p7zip-penuh), ia tidak pernah meminta saya untuk iirc;).
Luis Alvarado
Menambahkan pemisahan file teks. Lupa tentang itu dan hari ini kebetulan saya perlu membagi beberapa file CSV. Ini untuk dump yang Anda butuhkan dari jumlah garis tertentu.
Luis Alvarado
10
Dengan menggunakan split -bnomor yang sesuai, Anda bisa mendapatkan tiga potong.
Merupakan program freeware populer untuk memecah dan menggabungkan kembali file. Program ini tersedia di Windows, Linux dan berbagai platform lainnya.
HJSplit untuk Linux adalah pembagi file freeware untuk Linux dengan antarmuka pengguna grafis lengkap. HJSplit mendukung ukuran file lebih dari 100 Gigabytes, Split, Join / Recombine, MD5 checksum, membandingkan file, "jalankan tanpa instalasi" dan program ini sepenuhnya portabel.
HJSplit untuk Linux tidak perlu diinstal dan tidak tergantung pada pustaka khusus. Cukup ekstrak arsip hjsplitlx.tar.gz ke direktori pilihan Anda dan mulai program dari manajer file Linux atau jendela terminal. Anda mungkin perlu menyesuaikan izin file program untuk 'dieksekusi'.
Haruskah saya katakan bahwa file Windows juga berfungsi di Linux.
Uri Herrera
2
Ada beberapa cara pemisahan / bergabung dengan file sebelum harus pergi ke program seperti ini. Saya lebih suka menggunakan opsi kuat yang ditawarkan linux dan untuk memisahkan / menggabungkan file, ia memiliki beberapa cara yang cukup cepat dan aman untuk melakukannya.
Luis Alvarado
3
Itu aman, cepat, DAN adalah lintas-platform yang mencakup LINUX, itu bukan aplikasi WINDOWS saja yang kebetulan berjalan di Linux juga ...
Uri Herrera
2
Saya menggunakan HJSplit, bagus dan sederhana. Tidak perlu mengetikkan perintah dan nama parameter saat Anda bisa mengisi nilai parameter ke dalam kotak teks.
Matius Baca
2
Dan menjadi unduhan gratis membuatnya lebih buruk karena? dan haruskah saya mengatakan bahwa DI MANA SAJA DIA, DIA MEMINTA PERANGKAT LUNAK GRATIS (yang ini gratis) dan apa yang Anda maksudkan disebut OPEN, apakah ada perbedaan yang Anda ketahui ?.
GNOME Split adalah alat yang memungkinkan Anda untuk memisahkan file dan menggabungkannya kembali. Ini ditulis dalam Java dan menggunakan antarmuka pengguna GTK + (berkat proyek java-gnome). Tujuannya adalah untuk menawarkan implementasi asli dari proyek serupa yang dapat menangani berbagai format file (mis. Xtremsplit).
OZ adalah apa yang Anda sebut 'file splitter'. Format file-nya sama dengan yang digunakan oleh perangkat lunak 'Hacha', splitter terkenal di Spanyol dan Latinamerica. HOZ adalah implementasi open-source dan portabel C dari splitter kompatibel 'Hacha'.
HOZ lebih kecil dan lebih cepat dari 'Hacha'.
btw, saya menggunakan 'Z' bukan dari 'S' di 'Zource' karena 'hoz' adalah 'sabit' dalam bahasa Spanyol, dan karena 'hacha' adalah kata bahasa Spanyol untuk 'kapak' ...
Setelah menginstal, Anda dapat menggunakan GUI Hoz dengan menjatuhkan ghozterminal. Operasi ini sangat sederhana sehingga tidak perlu penjelasan tetapi informasi lebih lanjut dapat dihubungi di situs pengembang.
Utilitas pemisahan dan penggabungan file gratis dikembangkan di Jawa. Ini adalah aplikasi ukuran kecil yang memungkinkan pengguna untuk membagi semua jenis file dalam ukuran yang lebih kecil dalam KB, MB atau GB.
Ini tersedia untuk Linux dan juga Windows.
WoodCutter menawarkan 3 cara untuk menggabungkan kembali file asli. WoodCutter membuat file gabungan yang dapat diproses oleh aplikasi WoodCutter untuk menggabungkan semua file kembali. Dalam hal penerima file split tidak memiliki WoodCutter diinstal, maka juga file asli dapat diperoleh karena WoodCutter juga membuat file batch dan file skrip Shell untuk menggabungkan file kembali. File batch akan digunakan dalam platform Windows dan skrip Shell akan digunakan dalam platform Linux.
Lisensi adalah "freeware." Saya pikir alat Perangkat Lunak Bebas yang ada di dalam repo adalah solusi yang lebih baik.
Broam
0
split --number
Ini adalah opsi yang baik untuk menghasilkan file N dengan ukuran yang sama, kecuali untuk yang terakhir yang mungkin lebih besar karena tidak dapat dipisahkan. Misalnya:
Dibandingkan dengan -b+ perhitungan ukuran eksplisit, yang disebutkan di: https://askubuntu.com/a/54584/52975 , file terakhir mungkin hampir 2x lebih besar dari yang sebelumnya, yang kadang-kadang merupakan kerugian dari opsi ini. Namun itu lebih nyaman berkali-kali, karena Anda tidak perlu melakukan perhitungan ukuran sendiri.
Jawaban:
Ada beberapa cara untuk mencapai ini. Mari kita mulai dengan yang dasar.
Menggunakan perintah split dan cat :
Katakanlah saya memiliki gambar dan ukurannya terlalu besar (10MB). Yang saya lakukan adalah:
dan kemudian menggabungkannya saya menggunakan cat:
Sebagai contoh:
Dengan asumsi saya berada di dalam folder di mana gambar itu berada:
jika gambar ada di dalam direktori bernama gambar, Anda juga dapat melakukan ini:
Jika gambar ada di dalam direktori / home / cyrex / images Anda dapat melakukan ini:
(Dalam semua kasus di atas akan terpecah
myimage.jpg
-pecah 1MB dan awalan nama potongan-potongan dengan kata baru. Jadi mereka akan terlihat sepertinewaa
,newab
,newac
,newad
...)Jika Anda memisahkan file teks dan ingin membaginya dengan baris, Anda dapat melakukan ini:
Yang akan membagi file teks dalam file output masing-masing 1000 baris. Ini adalah cara lain untuk membagi file dan sebagian besar digunakan untuk file teks seperti log, sql dumps, file csv, dll.
Lalu saya menggabungkan mereka
Ini satu arah. Anda bahkan dapat mengubah ukuran potongan yang pecah. Hanya mengubah bagian yang mengatakan
--bytes=1M
untuk--bytes=1K
selama 1 kilobyte atau 1G untuk giga, atau nomor lain seperti--bytes=4K
potongan 4KB.Menggunakan Nautilus
Cara lain adalah opsi kompres di gui Nautilus. Ini memberi Anda opsi untuk membagi file atau file yang ingin Anda kompres menjadi ukuran megabyte yang lebih kecil. Sederhana dan mudah.
Namun cara lain adalah menggunakan 7z
Dengan asumsi Anda memiliki image ISO yang disebut
ubuntu.iso
Anda bisa melakukan ini:Ini akan membuat file ukuran 5MB dari
ubuntu.iso
. Ini-v5m
adalah ukuran volume sehingga Anda dapat mengubahnya ke 10, 12, 1, 3 dan juga m dapat diubah menjadi k untuk kilobyte, dll; yang-mx0
beralih mengatakan 7-Zip untuk tidak menggunakan kompresi, yaitu, hanya untuk membagi data menjadi bagian-bagian.Untuk mengekstrak cukup lakukan
dengan cara ini Anda mengekstrak file pertama dan 7z mulai mengekstraksi dari file berikut secara berurutan. Anda juga bisa melakukannya
yang memiliki efek yang sama di sini.
sumber
Dengan menggunakan
split -b
nomor yang sesuai, Anda bisa mendapatkan tiga potong.Jumlahnya bisa:
Untuk memasang kembali, gunakan kucing
Halaman manual akan membantu mengisi detail.
sumber
split --number
untuk membiarkansplit
menghitung jumlah file untuk Anda: askubuntu.com/questions/54579/...HJSplit
Merupakan program freeware populer untuk memecah dan menggabungkan kembali file. Program ini tersedia di Windows, Linux dan berbagai platform lainnya.
HJSplit untuk Linux adalah pembagi file freeware untuk Linux dengan antarmuka pengguna grafis lengkap. HJSplit mendukung ukuran file lebih dari 100 Gigabytes, Split, Join / Recombine, MD5 checksum, membandingkan file, "jalankan tanpa instalasi" dan program ini sepenuhnya portabel.
HJSplit untuk Linux tidak perlu diinstal dan tidak tergantung pada pustaka khusus. Cukup ekstrak arsip hjsplitlx.tar.gz ke direktori pilihan Anda dan mulai program dari manajer file Linux atau jendela terminal. Anda mungkin perlu menyesuaikan izin file program untuk 'dieksekusi'.
sumber
Gnome berpisah? http://gnome-split.org/
http://www.omgubuntu.co.uk/2010/08/split-large-files-easily-in-ubuntu-with-gnome-split/
sumber
HOZ - Hacha Open Zource v1.65 - http://hoz.sourceforge.net/
Dari pengembang:
Setelah menginstal, Anda dapat menggunakan GUI Hoz dengan menjatuhkan
ghoz
terminal. Operasi ini sangat sederhana sehingga tidak perlu penjelasan tetapi informasi lebih lanjut dapat dihubungi di situs pengembang.Semoga berhasil!
sumber
Penebang
Utilitas pemisahan dan penggabungan file gratis dikembangkan di Jawa. Ini adalah aplikasi ukuran kecil yang memungkinkan pengguna untuk membagi semua jenis file dalam ukuran yang lebih kecil dalam KB, MB atau GB.
Ini tersedia untuk Linux dan juga Windows.
WoodCutter menawarkan 3 cara untuk menggabungkan kembali file asli. WoodCutter membuat file gabungan yang dapat diproses oleh aplikasi WoodCutter untuk menggabungkan semua file kembali. Dalam hal penerima file split tidak memiliki WoodCutter diinstal, maka juga file asli dapat diperoleh karena WoodCutter juga membuat file batch dan file skrip Shell untuk menggabungkan file kembali. File batch akan digunakan dalam platform Windows dan skrip Shell akan digunakan dalam platform Linux.
http://java-puzzle.blogspot.com/2009/07/woodcutter.html
sumber
split --number
Ini adalah opsi yang baik untuk menghasilkan file N dengan ukuran yang sama, kecuali untuk yang terakhir yang mungkin lebih besar karena tidak dapat dipisahkan. Misalnya:
memberi:
dan:
memberi:
Dibandingkan dengan
-b
+ perhitungan ukuran eksplisit, yang disebutkan di: https://askubuntu.com/a/54584/52975 , file terakhir mungkin hampir 2x lebih besar dari yang sebelumnya, yang kadang-kadang merupakan kerugian dari opsi ini. Namun itu lebih nyaman berkali-kali, karena Anda tidak perlu melakukan perhitungan ukuran sendiri.Jumlah baris yang sama ditanyakan di: https://stackoverflow.com/questions/2016894/how-to-split-a-large-text-file-into-smaller-files-with-equal-number-of-lines
Diuji dalam
split
2.28, Ubuntu 18.04.sumber