Làm cách nào để chia một tệp lớn, + 4GB thành các tệp nhỏ hơn khoảng 500 MB mỗi tệp .
Và làm cách nào để tôi lắp ráp lại chúng một lần nữa để có được tệp gốc?
Làm cách nào để chia một tệp lớn, + 4GB thành các tệp nhỏ hơn khoảng 500 MB mỗi tệp .
Và làm cách nào để tôi lắp ráp lại chúng một lần nữa để có được tệp gốc?
Câu trả lời:
Bạn có thể sử dụng tách và mèo .
Ví dụ như một cái gì đó như
$ split --bytes 500M --numeric-suffixes --suffix-length=3 foo foo.
(trong đó tên tệp đầu vào là foo
và đối số cuối cùng là tiền tố đầu ra). Điều này sẽ tạo các tệp như foo.000 foo.001
...
Lệnh tương tự với các tùy chọn ngắn:
$ split -b 100k -d -a 3 foo foo
Bạn cũng có thể chỉ định "--line-byte" nếu bạn muốn nó phân chia trên ranh giới dòng thay vì chỉ số byte chính xác.
Để lắp ráp lại các mảnh được tạo lại, bạn có thể sử dụng, ví dụ:
$ cat foo.* > foo_2
(giả sử rằng trình bao sắp xếp các kết quả của quá trình tạo vỏ - và số phần không vượt quá giới hạn phụ thuộc hệ thống của các đối số)
Bạn có thể so sánh kết quả thông qua:
$ cmp foo foo_2
$ echo $?
(nên xuất 0)
Ngoài ra, bạn có thể sử dụng kết hợp find / sort / xargs để lắp ráp lại các mảnh:
$ find -maxdepth 1 -type f -name 'foo.*' | sort | xargs cat > foo_3
man split cat md5sum
cat foo.{000..NNN}
đâu NNN
là mảnh dự kiến cuối cùng. Bằng cách đó bạn sẽ nhận được thông báo lỗi nếu thiếu một trong các phần. Nhưng lưu ý rằng -d
để có được các hậu tố số là đặc trưng cho phân chia GNU; trên các nền tảng khác, bạn phải làm gì với foo.aaa
, foo.aab
vv
split
, KB = 1000, K = 1024, MB = 1000 * 1000, M = 1024 * 1024, v.v.
... cat > foo_3
được ... cat >>foo_3
?
rar
và 7zip
thường được sử dụng để làm cho các phần tách như vậy dễ dàng hơn để lắp ráp lại đa nền tảng
Bạn cũng có thể làm điều này với Trình quản lý lưu trữ nếu bạn thích GUI. Xem trong 'Lưu-> Tùy chọn khác-> Chia thành các khối'.