it-swarm-tr.com

Büyük bir dosyayı daha küçük parçalara ayırın

Büyük bir + 4GB dosyasını her biri yaklaşık 500MB daha küçük dosyalara nasıl bölerim.

Ve orijinal dosyayı almak için nasıl tekrar yeniden birleştirir onları?

66
Stefan

split ve kedi kullanabilirsiniz.

Örneğin,

$ split --bytes 500M --numeric-suffixes --suffix-length=3 foo foo.

(burada giriş dosya adı foo ve son argüman çıktı önekidir). Bu foo.000 foo.001 ...

Kısa seçeneklerle aynı komut:

$ split -b 100k -d -a 3 foo foo

Ayrıca, yalnızca tam bayt sayısı yerine satır sınırlarına ayrılmasını istiyorsanız "- satır bayt" ı da belirtebilirsiniz.

Oluşturulan parçaları tekrar monte etmek için aşağıdakileri kullanabilirsiniz:

$ cat foo.* > foo_2

(Shell'in Shell globbing sonuçlarını sıraladığını ve parça sayısının sisteme bağlı argüman sınırını aşmadığını varsayarsak)

Sonucu şununla karşılaştırabilirsiniz:

$ cmp foo foo_2
$ echo $?

(çıkış 0 olmalıdır)

Alternatif olarak, parçaları yeniden birleştirmek için find/sort/xargs birleşimini kullanabilirsiniz:

$ find -maxdepth 1 -type f -name 'foo.*'  | sort | xargs cat > foo_3
80
maxschlepzig

Bir GUI'yi tercih ederseniz bunu Arşiv Yöneticisi ile de yapabilirsiniz. 'Kaydet-> Diğer Seçenekler-> Birimlerine böl' bölümüne bakın.

4
user1498