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?
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?
Jawaban:
Ada beberapa cara untuk mencapai ini. Mari kita mulai dengan yang dasar.
Katakanlah saya memiliki gambar dan ukurannya terlalu besar (10MB). Yang saya lakukan adalah:
split --bytes=1M /path/to/image/image.jpg /path/to/image/prefixForNewImagePieces
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=1M
untuk --bytes=1K
selama 1 kilobyte atau 1G untuk giga, atau nomor lain seperti --bytes=4K
potongan 4KB.
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.
Dengan asumsi Anda memiliki image ISO yang disebut ubuntu.iso
Anda bisa melakukan ini:
7z a -v5m -mx0 ubuntu.7z ubuntu.iso
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
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
7z e ubuntu.7z.001
yang memiliki efek yang sama di sini.
Dengan menggunakan split -b
nomor yang sesuai, Anda bisa mendapatkan tiga potong.
Jumlahnya bisa:
size=$(wc -c <"file name")
one_third=$((size/3+1))
Untuk memasang kembali, gunakan kucing
cat "file name"* > "file name"
Halaman manual akan membantu mengisi detail.
split --number
untuk membiarkan split
menghitung jumlah file untuk Anda: askubuntu.com/questions/54579/...
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'.
Gnome berpisah? http://gnome-split.org/
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).
http://www.omgubuntu.co.uk/2010/08/split-large-files-easily-in-ubuntu-with-gnome-split/
HOZ - Hacha Open Zource v1.65 - http://hoz.sourceforge.net/
Dari pengembang:
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 ghoz
terminal. Operasi ini sangat sederhana sehingga tidak perlu penjelasan tetapi informasi lebih lanjut dapat dihubungi di situs pengembang.
Semoga berhasil!
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.
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:
printf '0123456789' > f.txt
split -d --number 2 f.txt f.txt.part.
tail f.txt.part.*
memberi:
==> f.txt.part.00 <==
01234
==> f.txt.part.01 <==
56789
dan:
split -d --number 3 f.txt f.txt.part.
tail f.txt.part.*
memberi:
==> f.txt.part.00 <==
012
==> f.txt.part.01 <==
345
==> f.txt.part.02 <==
6789
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.