Büyük, + 4GB'lık bir dosyayı her biri yaklaşık 500 MB olan daha küçük dosyalara nasıl ayırabilirim .
Orijinal dosyayı almak için bunları nasıl tekrar birleştiririm ?
Büyük, + 4GB'lık bir dosyayı her biri yaklaşık 500 MB olan daha küçük dosyalara nasıl ayırabilirim .
Orijinal dosyayı almak için bunları nasıl tekrar birleştiririm ?
Yanıtlar:
Split ve kedi kullanabilirsiniz .
Örneğin bir şey
$ split --bytes 500M --numeric-suffixes --suffix-length=3 foo foo.
(burada giriş dosya adı foo
ve son argüman çıktı önekidir). Bu gibi dosyalar yaratacaktır foo.000 foo.001
...
Kısa seçeneklerle aynı komut:
$ split -b 100k -d -a 3 foo foo
Tam bayt sayısı yerine satır sınırlarını bölmek istiyorsanız "- satır bayt" da belirtebilirsiniz.
Oluşturulan parçaları tekrar monte etmek için örneğin:
$ cat foo.* > foo_2
(kabuğun, kabarcıklı kabarma sonuçlarını sıraladığını varsayalım - ve parçaların sayısı sisteme bağlı argüman sınırını aşmaz)
Sonucu ile karşılaştırabilirsiniz:
$ cmp foo foo_2
$ echo $?
(0 çıkması gerekir)
Alternatif olarak, parçaları yeniden monte etmek için find / sort / xargs kombinasyonunu kullanabilirsiniz:
$ find -maxdepth 1 -type f -name 'foo.*' | sort | xargs cat > foo_3
man split cat md5sum
cat foo.{000..NNN}
nerede NNN
olduğunu öneririm . Bu sayede parçalardan biri eksikse bir hata mesajı alırsınız. Ancak, -d
sayısal sonekleri almak için GNU bölünmesine özgü olduğuna dikkat edin ; diğer platformlarda sen yetinmek zorunda foo.aaa
, foo.aab
vb
split
KB = 1000, K = 1024, MB = 1000 * 1000, M = 1024 * 1024 vs. için
... cat > foo_3
olmamalı ... cat >>foo_3
mı?
rar
ve 7zip
bu tür bölmelerin çapraz platformun yeniden monte edilmesini kolaylaştırmada sıklıkla kullanılır
Bir GUI tercih ediyorsanız bunu Archive Manager ile de yapabilirsiniz. 'Kaydet-> Diğer Seçenekler-> Birimlere bölün' başlığına bakın.